C#.NET

Защита данных в .NET

Данная статья кратко объясняет распространенные криптосистемы и подробно описывает два самых популярных шифра с закрытым ключом: DES –  наиболее широко используемый, и AES – собирающийся заменить DES.

Асинхронный вызов метода

В данной статье объясняются асинхронные вызовы методов и принципы их использования, будет показано, как вызывать методы асинхронно, как передавать параметры таким методам, и как узнать, когда метод завершает выполнение. Наконец, будет показан используемый шаблон команды для упрощения части кода.

Формат файла .bin Office 2007

Новыми форматами файла Office 2007 являются файлы ZIP, содержащими части, некоторые из которых являются XML, некоторые другие являются родными форматами файлов, такими как изображения JPEG, а остальные двоичные части называются частями BIN. Части BIN представляют особый интерес для потребителя или обновителя формата файла, так как нижележащие форматы файла недокументированы (в момент написания, 10 августа 2006), и надо разобраться с несколькими дополнительными форматами файла.

Упрощенный распределенный кэш

В данной статье рассмотрены два запроса - передача запросов от клиента к серверу и от сервера приложений к серверу баз данных.

Написание заданий ETL на чистом C#

Если вы любите писать на C# и не любите использовать DTS/SSIS для создания заданий ETL (или общую идею щелканья по конструктору с целью сделать работу), то эта статья для вас.

Цепь событий

Выполнение многоадресного делегата для создания цепи событий, которую может прервать любой обработчик в цепи.

Слабые события в C#

В данной статье мы обсудим разные подходы к слабым событиям.

Трехслойная архитектура в C# .NET

В данной статье рассматривается типичная трехслойная архитектура в C# .NET. Это очень полезный метод для программирования из-за легкого сопровождения кода.

Специализированные атрибуты (часть 2)

Данная статья является второй в серии из двух статей о специализированных атрибутах. Она демонстрирует детали практической реализации специализированных атрибутов, которые добавляют дополнительное поведение вашему коду, в частности, измерение производительности и проверка валидности полей. Вам стоит ознакомиться с первой статьей для лучшего усвоения всей темы

Специализированные атрибуты (Часть 1)

Прочитав данную статью, вы поймете, как PostSharp может перевести ваши специализированные атрибуты на новый уровень и позволит им добавить новое поведение к вашему коду. Вы узнаете, как инкапсулировать авторизацию, производительность инструментального оснащения или проверку полей в специализированные атрибуты, а также получить значительные преимущества.

Красота фракталов - написание простой программы визуализации фракталов на языке C#

Многие программисты уже писали свои приложения визуализации фракталов, начиная с использования C64 и Amiga до современных компьютеров, используя различные языки (даже в калькуляторе TI в BASIC). Визуализация фракталов является хорошим способом научиться программировать, особенно если вы пишете движок рисования фракталов в C#. В таком случае целью будет сбор множества техник программирования, выученных за несколько лет работы, в одно приложение.

Обзор C# 4.0

Недавно была выпущена .NET Framework 4.0 CTP и теперь нам стоит изучить новые возможности C# 4.0. В данной статье мы расскажем о следующих возможностях: динамический просмотр (поиск методов), ковариация и контрвариация, поименованные и необязательные параметры.

Разделение структуры LINQ to SQL

Данная статья расширяет идею комбинации внедрения зависимости (Dependency Injection) с LINQ to SQL. Структура, определенная в данной статье использует структуру внедрения зависимости компании Майкрософт, названную Unity, а также простую версию AOP, называемую Policy Injection (Внедрение политики). Обе эти структуры можно найти в библиотеке Microsoft Enterprise Library 4+. Используя внедрение зависимости мы можем положиться на IoC, что создаст объекты, зависимости которых будут уже установлены. В таком случае мы обеспечим только то, что один DataContext (или в нашем случае IDataContext) будет использован между любыми созданными сущностями или сервисами. Таким образом нам не нужно управлять масштабом DataContext вручную.

Дополнительные возможности AsyncEnumerator

В этой статье я хочу продемонстрировать некоторые дополнительные функции, предоставляемые AsyncEnumerator, такие как соединение между несколькими параллельными асинхронными операциями, поддержку модели асинхронного программирования (Asynchronous Programming Model – APM), возвращаемые значения, управляемые потоком обратного вызова, синхронизированный доступ к общим данным, автоматическое удаление незавершенных операций и поддержка отмены/времени ожидания. Попутно я также разберу для читателей некоторые распространенные шаблоны программирования, ставшие возможными с помощью AsyncEnumerator.

Класс Enumerable LINQ

В качестве части работы над недавним программным проектом мне пришлось создавать случайным образом упорядоченный список целых чисел из интервала от 1 до 100. Да, очевидно, что это базовая проблема информатики типа 101. Исходно я использовал то же решение, которое написал в школьном классе в 1985 году, используя множество циклов, сравнений, датчиков случайных чисел и несколько массивов. Но теперь, в эпоху декларативного программирования, такое решение меня очень смущало.

Стандартные операторы запроса с LINQ

Язык LINQ позволяет разработчикам включать в код Microsoft® .NET Framework 3.5 SQL-подобные запросы, используя строго типизированный синтаксис. Различные поставщиеи LINQ, в частности методы «LINQ — объекты» (позволяет писать запросы по иерархии объектов) и «LINQ — сущности» (позволяет писать запросы по концептуальной модели Entity Framework), в таком случае способны эффективно обрабатывать запросы, учитывая особенности хранилищ данных.

Решение 11 распространенных проблем в многопоточном коде

Серверным программам давно уже приходится иметь дело с одновременной в своей основе моделью программирования, а по мере распространения многоядерных процессоров с ней придется иметь дело и клиентским программам. С добавлением одновременности приходит ответственность за обеспечение корректности. Другими словами, программы должны поддерживать прежний уровень устойчивости и надежности в присутствии больших объемов логической одновременности и постоянно меняющегося уровня параллелизма физического оборудования.

Новинки языка C#.NET

В этой статье я расскажу о новшествах в языке C#, которые были привнесены в язык с выходом первой Beta версии .NET Framework 2. Основная задача статьи - рассказать разработчикам о новых замечательных возможностей, доступных при разработке программ на C#.

Некоторые вопросы создания компонентов в C#.NET

Безусловно, в .NET Framework много стандартных компонентов и разнообразных вариантов их настройки. Тем не менее, часто возникает необходимость добавить к ним некоторую функциональность или написать новый компонент. Не буду утомлять Вас излишними подробностями, а сосредоточусь на некоторых моментах, представляющих интерес при первом знакомстве с данной темой.

C#.NET: Обзор языковых возможностей

Вместе с выпуском новой платформы .NET компания Microsoft представила новый язык, идеально подходящий для новой платформы - C# (читается "си шарп"). Станет ли он для Вас любимым и единственным или одним из постоянно используемых решать Вам, так как .NET дает такую возможность. Но на мой взгляд любой .NET программист должен знать C#, как язык специально созданный для работы с этой платформы.

.NET глазами дельфийца. C#

При знакомстве с новым языком программирования любогопрограммиста в первую очередь интересует семантическая основа языка, т.е.насколько его выразительные возможности позволяют реализовать привычныелогические конструкции.Учитывая то, что C#, как и Delphi, выступает одновременнов двух качествах, т.е. с одной стороны, является семантически строгоопределенным языком программирования и, с другой стороны, используетпоставляемые в составе .Net библиотеки классов и компонентов, на первом этапеимеет смысл сконцентрироваться на самом языке программирования, т.к. изучение исравнительный анализ библиотек классов - гораздо более объемная работа.

Углубление в C#

Интервью с ведущим разработчиком Microsoft - Андерсом Хейлсбергом (Anders Hejlsberg). В июле, редактор O`Reilly Джон Осборн посетил конференцию профессиональных разработчиков Microsoft, где взял интервью у Андерса Хейлсберга, выдающегося специалиста и ведущего разработчика C#, о платформе Microsoft .NET и языке программирования C#. Андерс Хейлсберг известен как человек, который разрабатывал Turbo Pascal, один из первых языков доступных на PC. Андерс лицензировал Turbo Pascal корпорации Borland и впоследствии возглавил команду, создавшую Delphi, действительно удачное визуальное средство разработки клиент-серверных приложений. Также в интервью принимали участие Тони Гудхью (Tony Goodhew) - Microsoft менеджер C#, и редактор раздела Windows в O`Reilly - Рон Петруша (Ron Petrusha).