В .NET Framework 3.5 имеется много новых классов и функциональных возможностей. Эта новейшая версия основана на предыдущей версии. .NET Framework 2.0 (а также пакет обновлений SP1) добавила много новых базовых классов, интерфейсов, обобщений и т.д. Промежуточная редакция (.NET Framework 3.0), которая поставляется с Windows Vista, заложила поддержку Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) и Windows Workflow Foundation, (WF). Данная новейшая редакция продолжает расширять версию 3.0. Версия .NET Framework 3.5 включает LINQ, переработанную ASP.NET, Add-In Framework, SQL Synch Services и т. д.
Конечно, мы не можем подробно описать все эти функциональные возможности в таком ограниченном объеме. Поэтому мы просто выделим некоторые ключевые дополнения и улучшения этой версии .NET Framework. Многие из них описываются в этой книге более подробно.
Примечание
Если вы инсталлировали версию 2.0, SP1 для 2.0 или SP1 для 3.0, то вам будет приятно узнать, что версию 3.5 можно инсталлировать вместе с предыдущими версиями Framework.
□ ASP.NET. .NET Framework 3.5 включает много новых улучшений для разработчиков ASP.NET. Пространство имен System.Web, которое поддерживает ASP.NET, включает много новых классов и элементов управления. Например, теперь Framework напрямую поддерживает AJAX-программирование при помощи элементов управления ScriptManager и UpdatePanel. Имеется также новый элемент управления для отображения данных под названием ListView, объект источника данных под названием LinqDataSource для работы с Данными LINQ и объект DataPager для управления разбиением на страницы записей данных в вашем приложении. Более подробно об улучшениях ASP.NET читайте в главах 1 и 14.
□ LINQ. Мы уже упоминали LINQ несколько раз. Следует однако заметить, что LINQ встроен в .NET Framework. Сюда входит и пространство имен System. Linq, которое определяет стандартные операторы запросов LINQ и типы. Пространство имен System.Data.Linq является промежуточным звеном между базами данных и подсистемой LINQ. Есть и другие пространства имен, имеющие отношение к LINQ, в том числе: System. Data. Linq.Mapping для обработки объектных/реляционных соответствий между LINQ и SQL (см. главу 18) и System. Xml. Linq для работы между XML и подсистемой LINQ. Конечно, многие элементы управления были также обновлены для работы с LFNQ.
□ Add-In Framework. Пространство имен System.Addin является новым для .NET Framework 3.5. Оно предоставляет классы и методы для разработчиков, желающих создавать такие приложения, которые могут расширяться на основе общей структуры дополнительных модулей. Например, класс AddlnStore позволяет обнаруживать и управлять дополнительными модулями. Framework обеспечивает также контроль версий, изоляцию, активацию и песочницу безопасности. Если вы создаете новое приложение и хотите, чтобы оно позволяло использовать дополнительные модули, то вам следует поподробнее изучить это пространство имен.
□ Улучшения ClickOnce. Развертывание приложений в один щелчок в этой новейшей версии .NET также продолжает улучшаться. Появилась возможность развертывания приложения из нескольких местоположений, а также возможность использования фирменного оформления ваших диалоговых окон развертывания.
□ Windows Communication Foundation (WCF). Новое пространство имен System. ServiceModel инкапсулирует то, что известно как WCF. С его помощью вы можете без труда создавать ориентированные на сервис приложения, которые работают через многие протоколы, транспорты и типы сообщений. WCF является важнейшим компонентом .NET 3.5 и описывается более подробно в главе 20. Вот некоторые возможности, включенные в WCF: предоставление и использование новостных лент RSS и АТОМ с помощью пространства имен System. ServiceModel. Syndication; взаимодействие с операциями Ajax с помощью формата данных JavaScript Object Notation (JSON), встроенного в пространство имен System. Runtime. Serialization. Json; использование модели Web-программирования WCF для создания сервисов REST (representational state transfer) для взаимодействия непосредственно по HTTP (без SOAP). Кроме того, WCF содержит новую систему управления идентификацией CardSpace.
□ Windows Presentation Foundation (WPF). Предоставляет новую технологию презентации для приложений Windows. Эта технология распределена по всему пространству имен System, windows и включает в себя поддержку создания приложений Windows на базе XAML, ХВАР, векторной графики, а также двумерной и трехмерной графики. Более подробную информацию см. в главах 16 и 17.
□ Windows Workflow Foundation (WF). Пространство имен System.Workflow, которое было впервые введено в .NET 3.0, теперь расширено (и интегрировано в Visual Studio) в редакции 3.5. WF позволяет вам создавать для ваших приложений как последовательные рабочие процессы, так и рабочие процессы типа конечных автоматов, обеспечивать их работу, сохранять их и т. д. Теперь WF также интегрирована и с WCF. Поэтому вы можете без труда предоставить и вызвать рабочий процесс как сервис WCF. Подробнее
о WF читайте в главе 20.
□ Трассировка и диагностика. Пространство имен System. Diagnostics содержит новый класс EventSchemaTraceListener, который позволяет выполнять журналирование и трассировку от точки до точки между доменами, потоками и компьютерами.
□ Pipe Streams. Новое пространство имен System. IО. Pipes предоставляет поддержку обмена как по именованным, так и по анонимным каналам. С его помощью вы можете писать код, который ведет обмен на уровне каналов между процессами и компьютерами. Например, класс NamedPipeServerStream можно использовать для чтения и записи по именованному каналу. Пространство NamedPipeCli.entStream предоставляет поддержку для клиента, ведущего обмен с серверами каналов.
□ Улучшения многопоточности. В пространстве имен System. Threading имеется новый класс ReaderWriterLockSlim, который обеспечивает повышенную производительность и уменьшает вероятность блокировок.
□ Добавления Time Zone. Имеются два новых типа, помогающих вам работать с приложениями, которым нужно использовать множество временных зон. Это классы
System. DateTimeOff set и TimeZonelnfо. Структура DateTimeOf f set представляет собой точный момент времени. Это смещение по времени указывает, на сколько время отличается от времени UTC (Universal Coordinated Time). Используйте этот новый класс тогда, когда вам нужна точность и арифметика вычисления даты/времени.
Класс TimeZonelnf о— это приятное улучшение, которое представляет собой дату и время в заданной временной зоне. Вы можете использовать этот класс для надежного представления одной и той же даты и времени в разных временных зонах. Кроме того, при необходимости вы можете использовать этот класс для создания собственных временных зон.
□ Поддержка одноранговых сетей. Наконец-то в .NET Framework появилась собственная поддержка одноранговых сетей. Она содержится в пространстве имен System.Net. PeerToPeer. С ее помощью вы можете создать приложение, которое работает без сервера и просто ведет обмен одного клиента (узла) с другим (аналогично приложению Groove фирмы Microsoft). Приложения, поддерживаемые этим новым пространством имен, могут: отслеживать состояние клиентов (находятся ли они в автономном режиме или подключены) и что они делают; взаимодействовать (вести обмен сообщениями) между узлами; находить новые узлы и т. д.
□ Сервисы синхронизации для ADO.NET. Вместе с Visual Studio 2008 поставляются сервисы синхронизации Sync Services. С их помощью вы можете создать приложение, которое работает как в подключенном состоянии, так и в автономном режиме. Эти типы приложений называются периодически подключенными приложениями (occasionally connected applications (ОСА)). Используйте сервисы синхронизации (и их инструменты) для того, чтобы указать, какие именно данные должны быть доступны тогда, когда пользователь находится в автономном режиме. При появлении подключения сервисы синхронизации выполняют синхронизацию пользовательских изменений и изменений базы данных.
Сервисы синхронизации для ADO.NET являются частью пространства имен Microsoft . Synchronization. Data. Обратите внимание, что оно не является частью System и поэтому является не главной частью .NET Framework, а дополнительной библиотекой фирмы Microsoft. Сервисы ADO.NET — это фактически часть того, что называется Microsoft Sync Framework. Эта инфраструктура обеспечивает сервисы синхронизации для данных (ADO.NET), файлов и каталогов (File System) и лент новостей RSS/ATOM (FeedSync).
□ Поддержка Windows Vista. Ядро Windows Forms было переработано для того, чтобы обеспечить вашим приложениям поддержку операционной системы Vista. Это означает, что после обновления ваши приложения получат внешний вид Vista. Кроме того, теперь у вас есть доступ к общим диалогам Vista (System. Windows . Forms . FileDialog). Например, OpenFileDialog и SaveFileDialog поддерживают тот самый интерфейс, который вы видите в Windows Vista при открывании и сохранении файлов.
□ .NET Compact Framework. С версией .NET Framework 3.5 поставляется также и новая версия .NET Compact Framework. Эта инфраструктура используется на широко распространенных мобильных устройствах, таких как смартфоны и устройства под управлением Windows Mobile/CE. Эта более быстрая версия предоставляет поддержку WCF, LINQ, а также улучшенную отладку и диагностику.