Санкт-Петербургский государственный университет
Опубликован: 25.07.2014 | Доступ: свободный | Студентов: 1039 / 81 | Длительность: 17:26:00
Лекция 3:

Обзор возможностей .NET

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

3.9. Новые возможности .NET Framework 4.5.1

Как и Microsoft Azure, платформа .NET - основа ее реализации - постоянно эволюционирует: улучшается производительность, реализуются новые возможности параллельных вычислений, сетевой коммуникации и т.п. Отметим, что многие нововведения в .NET 4.5.1, несомненно, вызваны в значительной степени потребностями развития и совершенствования Microsoft Azure и оказывают положительное влияние на производительность облака. Эти новые возможности мы и рассмотрим.

Основные новые возможности .NET 4.5.1

Следующие нововведения .NET 4.5.1 весьма важны для реализации Microsoft Azure:

  • Поддержка разработки приложений .NET для магазина Windows.
  • Поддержка разработки переносимых библиотек классов (в том числе - для Windows Phone и для магазина Windows).
  • Поддержка больших массивов (более 2 Гб).
  • Фоновая сборка мусора для серверов.
  • Фоновая JIT-компиляция для многоядерных процессоров.
  • Улучшенная производительность при извлечении ресурсов приложений.
  • Новые возможности для параллельных вычислений.
  • Автоматическая переадресация привязки для сборок. В Visual Studio 2013, при компиляции приложения, ориентированного на .NET Framework 4.5.1, в файл конфигурации приложения можно добавить переадресации привязок, если приложение или его компоненты ссылаются на несколько версий одной и той же сборки. Можно также включить эту функцию для проектов, предназначенных для более старых версий платформы .NET Framework.
  • Возможность сбора диагностической информации, чтобы помочь разработчикам повысить производительность серверных и облачных приложений.
  • Возможность явно уплотнять кучу больших объектов во время сборки мусора.
  • Дополнительные улучшения производительности, например, приостановка приложений ASP.NET, усовершенствования многоядерного JIT и более быстрый запуск приложений после обновления платформы .NET Framework.

Новые возможности отладки в .NET Framework 4.5.1

  • Возвращаемые значения в отладчике Visual Studio. При отладке управляемого приложения в Visual Studio 2013 в окне "Видимые" отображаются возвращаемые типы и значения для методов. Эти сведения доступны для приложений для настольных систем, приложений для Магазина Windows и приложений Windows Phone.
  • Функция "Изменить и продолжить"(fix-and-continue) для 64-разрядных приложений. Visual Studio 2013 поддерживает команду "Изменить и продолжить" для 64-разрядных управляемых приложений для настольных систем, приложений Магазина Windows и приложений Windows Phone.
  • Отладка с поддержкой асинхронности (Async-aware debugging). Чтобы упростить отладку асинхронных приложений в Visual Studio 2013, в стеке вызовов скрывается код инфраструктуры, предоставляемый компиляторами для поддержки асинхронного программирования, а также цепочки логических родительских записей активации, что упрощает прослеживание логики выполнения программы. В окне "Задачи", которое заменяет собой окно "Параллельные задачи", отображаются задачи, относящиеся к определенной точке остановки, а также все другие задачи, которые в данный момент активны или запланированы в приложении.
  • Усовершенствованная поддержка исключений для компонентов среды выполнения Windows. В Windows 8.1 исключения, возникающие в приложениях для Магазина Windows, сохраняют сведения об ошибке, которая вызвала исключение, даже при переходе через границу языка.

Новые возможности ASP.NET 4.5.1

ASP.NET - набор библиотек для поддержки разработки Web-приложений и Web-сайтов. Следующие новые возможности ASP.NET, реализованные в версии 4.5.1, особенно важны для реализации Microsoft Azure:

  • Поддержка новых типов форм HTML5 (напомним, что HTML 5 специально разработан для поддержки облачных вычислений).
  • Поддержка связывателей моделей в веб-формах. Они позволяют привязать элементы управления данными непосредственно к методам доступа к данным и автоматически преобразуют ввод данных пользователем в типы данных платформы .NET Framework и из них.
  • Поддержка "ненавязчивого" JavaScript в клиентских скриптах проверки.
  • Улучшенная обработка клиентского скрипта посредством связывания и минимизации, обеспечивающих повышенную производительность при работе со страницами.
  • Интегрированные подпрограммы кодировки из библиотеки AntiXSS (ранее - внешняя библиотека) для защиты от атак межсайтовых скриптов.
  • Поддержка протокола WebSockets.
  • Поддержка чтения и записи HTTP-запросов и ответов в асинхронном режиме.
  • Поддержка асинхронных модулей и обработчиков.
  • Поддержка резервирования сети распределения содержимого (Content Delivery Network - CDN) в элементе управления ScriptManager.

Новые сетевые возможности .NET 4.5.1

Следующие новые сетевые возможности .NET наиболее важны для реализации Microsoft Azure:

  • .NET Framework 4.5.1 обеспечивает новый интерфейс программирования для приложений HTTP.Дополнительные сведения приведены в описании пространства имен System.Net.Http и System.Net.Http.Headers.
  • Также предусмотрена поддержка нового интерфейса программирования для приема и взаимодействия с соединением WebSocket с помощью существующего класса HttpListener и связанных с ним классов.Дополнительные сведения приведены в новом пространстве имен System.Net.WebSockets и классе HttpListener.

Кроме того, в .NET Framework 4.5.1 сетевые функции усовершенствованы следующим образом:

  • RFC-совместимая поддержка URI.
  • Поддержка синтаксического анализа интернационализированных доменных имен (Internationalized Domain Name, IDN).
  • Поддержка интернационализации адресов электронной почты (Email Address Internationalization, EAI). Дополнительные сведения см. в описании пространства имен System.Net.Mail.
  • Улучшенная поддержка протокола IPv6 (новой версии Интернет-протокола), Дополнительные сведения см. в описании пространства имен System.Net.NetworkInformation.
  • Поддержка сокета с двойным режимом. Дополнительные сведения см. в описаниях классов Socket и TcpListener.

Новые возможности Windows Communication Foundation (WCF) в версии 4.5.1

В .NET Framework 4.5.1 были добавлены следующие функции, чтобы упростить создание и сопровождение приложений Windows Communication Foundation (WCF).

Следующие новые возможности WCF наиболее важны для облачных вычислений в Microsoft Azure:

  • Упрощение созданных файлов конфигурации.
  • Поддержка разработки "по контракту", т.е. контракт сервиса становится отправной точкой разработки.
  • Возможность более простой настройки режима совместимости ASP.NET.
  • Изменения значений свойств транспорта по умолчанию для снижения вероятности необходимости их настройки.
  • Проверка файлов конфигурации WCF за счет Visual Studio как часть процесса построения, поэтому можно обнаружить ошибки конфигурации перед запуском приложения.
  • Новая поддержка асинхронной потоковой передачи.
  • Новое сопоставление протокола HTTPS, облегчающее предоставление конечной точки по HTTPS с помощью служб IIS.
  • Возможность создавать метаданные в одном документе WSDL путем добавления ?singleWSDL к URL-адресу службы.
  • Поддержка Websockets, чтобы включить истинно двунаправленную связь по портам 80 и 443 с характеристиками производительности, схожими с транспортом TCP.
  • Поддержка настройки служб в коде.
  • Всплывающие подсказки редактора XML.
  • Поддержка кэширования ChannelFactory.
  • Поддержка сжатия двоичным кодировщиком.
  • Поддержка транспорта UDP, которая позволяет разработчикам писать службы, использующие обмен сообщениями по принципу "отправить и забыть". Клиент отправляет сообщение службе и не ожидает ответа от службы.
  • Возможность поддерживать несколько режимов аутентификации на одной конечной точке службы WCF при использовании транспорта HTTP и безопасности транспорта.
  • Поддержка служб WCF, использующих интернационализированные доменные имена (IDN).

3.10. Резюме

Microsoft.NET - активно развивающаяся объектно-ориентированная многоязыковая платформа для разработки программ. Она основана на следующих принципах: использование общей инфраструктуры языков (CLI), общей среды поддержки выполнения (CLR), общей системы типов (CTS), единого промежуточного языка (CIL). Единицей компиляции в .NET является бинарная сборка, содержащая бинарный CIL-код и метаданные - информацию о типах, определяемых и используемых сборкой. Компилятор с любого языка, реализованного в .NET (C#, Managed C++, Visual Basic.NET и др.) транслирует исходный код на данном языке в бинарную сборку. Метаданные содержит атрибуты (аналог аннотаций кода), которые могут быть как встроенными в .NET, так и определяемыми пользователем, что позволяет представлять, хранить в сборке и использовать специфичную для различных утилит информацию. Начиная с выпуска первой версии Microsoft.NET в 2000 г., платформа .NET активно развивается. В наиболее новой версии .NET Framework 4.5.1 реализовано большое число усовершенствований, касающихся сети, облачных вычислений и др.

Ключевые термины

.NET - объектно-ориентированная многоязыковая платформа программирования, стандартизированная международными стандартами ISO и имеющая несколько реализаций, в том числе - Microsoft.NET, разработанную фирмой Microsoft
CLI (Common Language Infrastructure) - общая инфраструктура языков платформы .NET
CIL (Common Intermediate Language) - единый промежуточный язык платформы .NET, бинарная форма постфиксной записи инструкций виртуальной машины .NET
CTS (Common Type System) - общая система типов платформы .NET
C# - новейший объектно-ориентированный язык программирования, разработанный и активно развиваемый фирмой Microsoft, являющийся основным языком программирования для платформы .NET
Visual Basic - язык программирования, объектно-ориентированное расширение языка Basic, разработанный и развиваемый фирмой Microsoft
Visual C++ - язык программирования, расширение языка C++, разработанное и развиваемое фирмой Microsoft
Visual FoxPro - один из ранних объектно-ориентированных языков программирования, разработанный фирмой Microsoft, содержащий средства обращения к базам данных, совместимым с языком запросов SQL
Visual Studio - интегрированная среда разработки фирмы Microsoft
WSDL (Web Service Description Language) - синхронный протокол для реализации Web-сервисов и взаимодействия с ними, используемый, в частности, для платформы .NET

Краткие итоги

Microsoft.NET - активно развивающаяся объектно-ориентированная многоязыковая платформа для разработки программ. Она основана на следующих принципах: использование общей инфраструктуры языков (CLI), общей среды поддержки выполнения (CLR), общей системы типов (CTS), единого промежуточного языка (CIL). Единицей компиляции в .NET является бинарная сборка, содержащая бинарный CIL-код и метаданные - информацию о типах, определяемых и используемых сборкой. Компилятор с любого языка, реализованного в .NET (C#, Managed C++, Visual Basic.NET и др.) транслирует исходный код на данном языке в бинарную сборку. Метаданные содержит атрибуты (аналог аннотаций кода), которые могут быть как встроенными в .NET, так и определяемыми пользователем, что позволяет представлять, хранить в сборке и использовать специфичную для различных утилит информацию. Начиная с выпуска первой версии Microsoft.NET в 2000 г., платформа .NET активно развивается. В наиболее новой версии .NET Framework 4.5.1 реализовано большое число усовершенствований, касающихся сети, облачных вычислений и др.

Набор для практики

Вопросы

  1. Что такое .NET?
  2. В чем разница между .NET и Microsoft.NET?
  3. Каковы основные принципы .NET?
  4. Что такое общая система типов .NET?
  5. Что такое общая система поддержки выполнения .NET?
  6. Что такое единый промежуточный язык .NET?
  7. Какие основные разновидности типов входят в общую систему типов .NET?
  8. Каковы особенности определения классов в C#?
  9. На каких стандартах базируются Web-сервисы .NET?
  10. Назовите основные виды запросов к Web-сервису .NET.
  11. Каковы основные новые возможности новой версии .NET (4.5.1), наиболее важные для реализации Azure?

Упражнения

  1. Скачайте и инсталлируйте .NET Framework 4.5.1 - новую версию платформы .NET - и пропустите на ней простой пример типа "Hello World" на языке C#, используя компилятор и другие инструменты .NET Framework.
  2. Сравните, по Вашему опыту, возможности платформ .NET и Java

Темы для курсовых работ, рефератов, эссе

  1. Обзор архитектуры .NET (реферат).
  2. Обзор системы типов .NET (реферат).
  3. Обзор языка C# (реферат).
  4. Обзор языка Visual Basic.NET (реферат).
  5. Обзор языка Managed C++ (реферат).
  6. Web-сервисы в .NET (реферат).
  7. ASP.NET - инструмент построения и использования Web-сервисов (реферат).

Дополнительные материалы, презентации

Презентация к данной лекции: VS_2013_Course_3.pptx.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Александр Калинин
Александр Калинин

Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ?