Новые возможности .NET Framework 4 и Visual Studio 2010
Совместимость и развертывание приложений
.NET Framework 4
- Совместимость и развертывание приложений
- Managed Extensibility Framework
- Параллельные вычисления
- Сетевое взаимодействие
- Улучшения в Веб
- Работа с данными
Visual Studio 2010
- Новый интерфейс Visual Studio 2010
- Изменения в языках программирования.
- Разработка под Office
- Улучшенная веб-разработка
- Конструктор WPF и Silverlight
- Облачные вычисления.
Платформа .NET Framework 4 обладает высокой совместимостью с приложениями, построенными с помощью предыдущих версий платформы .NET Framework, за исключением некоторых изменений, сделанных для улучшения безопасности, соответствия стандартам, правильности, надежности и производительности.
Для приложений, построенных с помощью более ранних версий платформы .NET Framework, в платформе .NET Framework 4 не производится автоматическое использование ее версии среды CLR. Для запуска старых приложений с платформой .NET Framework 4 необходимо скомпилировать приложение с требуемой версией .NET Framework, указанной в свойствах проекта в Visual Studio, или указать поддерживаемую среду выполнения с помощью элемента <supportedRuntime> в файле конфигурации приложения.
Клиентский профиль .NET Framework 4 поддерживает больше платформ, чем предыдущие версии, и обеспечивает быстрое развертывание приложений, Несколько новых шаблонов проектов теперь ориентированы на клиентский профиль по умолчанию.
Одна из возможностей, реализованных в .NET Framework 4 это внутрипроцессное параллельное выполнение, которая позволяет приложению загружать и запускать несколько версий платформы .NET Framework в одном и том же процессе. Например, можно запускать приложения, которые загружают надстройки (или компоненты), созданные на основе .NET Framework 2.0 с пакетом обновления 1 (SP1) и .NET Framework 4, в одном и том же процессе. Более ранние компоненты продолжают использовать более раннюю версию платформы .NET Framework, а новые компоненты используют новую версию платформы .NET Framework.
Managed Extensibility Framework
Платформа Managed Extensibility Framework (MEF) — это новая библиотека в .NET Framework 4, полезная при создании расширяемых и комбинируемых приложений. MEF позволяет указывать точки, где приложение может быть расширено, предоставлять доступ к службам другим расширяемым приложениям и создавать части, предназначенные для использования расширяемыми приложениями. Она также позволяет легко обнаруживать доступные части на основе метаданных без необходимости загрузки сборок с этими частями.
Более подробно о Managed Extensibility Framework, можно прочитать по ссылке http://msdn.microsoft.com/ru-ru/library/dd460648.aspx
Параллельные вычисления
Многие персональные компьютеры и рабочие станции имеют ЦП, содержащие два или четыре ядра, которые позволяют одновременно выполнять несколько потоков. В ближайшем будущем ожидается, что компьютеры будут иметь значительно больше ядер. Чтобы воспользоваться преимуществами существующего и будущего оборудования, можно распараллеливать код для распределения работы между несколькими процессорами.
В прошлом распараллеливание требовало управления потоками и взаимоблокировками на низком уровне. Visual Studio 2010 и .NET Framework 4 улучшают поддержка параллельного программирования, путем предоставления новой среды выполнения, новых типов библиотек класса и новых средств диагностики. Эти функциональные возможности упрощают параллельную разработку, что позволяет разработчикам писать эффективный, детализированный и масштабируемый параллельный код с помощью естественных выразительных средств без необходимости непосредственной работы с потоками или пулом потоков. На Рис 16.1 представлен общий обзор архитектуры параллельного программирования в .NET Framework 4.
Так же в .NET Framework 4 реализована новая программная модель разработки многопотокового и асинхронного кода, которая существенного упрощает труд разработчиков приложений и библиотек. Эта новая модель позволяет разработчикам писать эффективный, детализированный и масштабируемый параллельный код с помощью естественных выразительных средств без необходимости непосредственной работы с потоками или пулом потоков. Данная модель поддерживается новым пространством имен System.Threading.Tasks и другими связанными типами.
Технология Parallel LINQ (PLINQ), реализующая возможности LINQ to Objects с поддержкой параллелизма, обеспечивает аналогичную функциональность посредством декларативного синтаксиса.
Сетевое взаимодействие
Улучшения работы в сети включают следующее:
- Улучшения безопасности для проверки подлинности Windows в нескольких классах, включая System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Mail.SmtpClient, System.Net.Security.SslStream и System.Net.Security.NegotiateStream. Предусмотрена расширенная защита для приложений в Windows 7 и Windows Server 2008 R2.
- Поддержка обхода механизма преобразования сетевых адресов (NAT) с использованием IPv6 и Teredo.
- Новые счетчики производительности сети, предоставляющие сведения об объектах HttpWebRequest.
- В System.Net.HttpWebRequest добавлена поддержка использования заголовков больших диапазонов байтов (64-битные диапазоны) с новыми перегрузками метода AddRange. Новые свойства класса System.Net.HttpWebRequest позволяют приложению задавать много заголовков HTTP. Свойство Host можно использовать для задания значения заголовка Host в HTTP-запросе, независимом от запроса универсального кода ресурса (URI).
- Поддержка протокола SSL для System.Net.Mail.SmtpClient и связанных классов.
- Улучшенная поддержка почтовых заголовков в классе System.Net.Mail.MailMessage.
- Поддержка шифра NULL для использования в шифровании. Можно задать политику шифрования с помощью класса System.Net.ServicePointManager и свойства EncryptionPolicy. Конструкторы для класса System.Net.Security.SslStream теперь принимают класс System.Net.Security.EncryptionPolicy в качестве параметра.
- Учетные данные для схем проверки подлинности на основе пароля, такие как "Обычная", "Дайджест", "NTLM" и "Kerberos", в классе System.Net.NetworkCredential. Для повышения безопасности пароли теперь могут рассматриваться как экземпляры System.Security.SecureString, а не как экземпляры System.String.
- Возможность задать, как универсальный код ресурса (URI) с процентно-кодированными значениями преобразуется и нормализуется в классах System.Uri и System.Net.HttpListener.
Улучшения в Веб
Новые возможности ASP.NET версии 4 доступны в следующих областях.
- Базовые службы. В том числе добавлен новый API, позволяющий расширять кэширование, поддержка сжатия данных состояния сеанса и диспетчер предварительной загрузки приложений (функция автозапуска).
- Веб-формы. Лучше интегрирована поддержка маршрутизации ASP.NET, улучшена поддержка веб-стандартов, обновлена поддержка браузеров, добавлены новые возможности для элементов управления данными и новые возможности для управления состоянием просмотра.
- Элементы управления веб-форм, в том числе новый элемент управления Chart.
- MVC. В том числе появились новые вспомогательные методы для представлений, поддержка разделенных на части MVC-приложений и асинхронные контроллеры.
- Динамические данные. В том числе поддержка существующих веб-приложений, поддержка отношений и принципа наследования "многие ко многим", новые шаблоны и атрибуты полей, а также улучшенная фильтрация данных.
- Microsoft Ajax. В том числе дополнительная поддержка клиентских приложений Ajax в библиотеке Microsoft Ajax.
- Visual Web Developer. В том числе усовершенствована поддержка IntelliSense для JScript, улучшено автозавершение кода для разметки HTML и ASP.NET, улучшена совместимость CSS.
- Развертывание. В том числе новые средства автоматизации стандартных задач развертывания.
- Настройка для различных версий. В том числе улучшена фильтрация для функций, недоступных в целевой версии .NET Framework.
Более подробно по ссылке: http://msdn.microsoft.com/ru-ru/library/s57a598e.aspx
Работа с данными
ADO.NET
ADO.NET предоставляет новую функциональность для платформы Entity Framework, включая игнорирующие сохраняемость объекты, функции в запросах LINQ и создание настраиваемого кода объектного уровня.
Более подробно по ссылке: http://msdn.microsoft.com/ru-ru/library/ex6y04yf.aspx
Динамические данные
В ASP.NET 4 платформа динамических данных была усовершенствована с целью дополнительного расширения возможностей быстрого создания веб-сайтов с привязкой к данным. К ним относятся следующие улучшения:
- Автоматическая проверка на основе ограничений, определенных в модели данных.
- Возможность легкого изменения разметки полей, создаваемой в элементах управления GridView и DetailsView, с помощью шаблонов полей, входящих в состав проекта платформы динамических данных.
Службы данных WCF
Службы данных ADO.NET были переименованы в службы WCF, обладающие следующими возможностями:
- привязка данных;
- подсчет сущностей в наборе сущностей;
- разбиение на страницы на сервере;
- проекции запросов;
- специализированные поставщики служб данных;
- потоковая передача двоичных ресурсов.
Более подробно о нововведениях в службах WCF, можно прочитать по ссылке: http://msdn.microsoft.com/ru-ru/library/ee373845.aspx