Rose debug info
---------------

IIS Express

Сегодня разработчики создают и тестируют ASP.NET сайты и приложения, используя один из двух веб-серверов:

  1. ASP.NET Development Server, который является встроенным в Visual Studio
  2. IIS Web Server, который встроен в Windows.

Каждый обладает своими преимуществами и недостатками, многие разработчики не раз говорили нам – “Очень хотелось бы с легкостью использовать ASP.NET Development Server, но при этом иметь на борту всю мощь и возможности IIS”. Сегодня, я с радостью представляю вам бесплатную версию IIS Express, который объединяет в себе лучшие качества обоих веб-серверов и позволит еще проще разрабатывать и запускать ASP.NET сайты и приложения.
IIS Express будет работать с VS 2010 и Visual Web Developer 2010 Express, запускаться на Windows XP и выше, не требует прав администратора и внесения изменений в код приложения. Позволяет работать со всеми типами ASP.NET приложений и разрабатывать, используя всю мощь возможностей IIS 7.x.

Как обстоят дела сейчас


Прежде чем углубиться в детали IIS Express, давайте быстренько пробежимся по ASP.NET Development Server и IIS.

ASP.NET Development Server


Встроенный в Visual Studio ASP.NET Development Server (так же известен, как “Cassini”) обладает преимуществами легкого и быстро запуска. Он не слушает удаленные порты (что делает проще работу в корпоративной среде в плане безопасности), работает даже когда у вас нет прав администратора, не требует отдельной установки на машину.
Cassini, ASP.NET Development Server
Недостатком же является неполный набор возможностей веб-сервера. Например, отсутствует поддержка SSL, URL Rewriting Rules, собственных настроек безопасности и другие возможности IIS 7.

Веб-сервер IIS


IIS — альтернативный способ для запуска и тестирования приложений с Visual Studio. Вы можете настроить в Visual Studio любой веб-проект использовать IIS, нажав правой кнопкой по проекту, зайдя в свойства и далее выбрав закладку “Web”:

Используя IIS, как сервер для разработок вы получаете все возможности веб-сервера (SSL, URL Rewrite Rules и т. п.). IIS является полноценным веб-сервером, а это значит, что вы точно видите, как будет работать ваше приложения на публичном сервере.
Но и тут присутствуют недостатки. Многие компании запрещают использовать полноценные веб-сервера на машинах разработчиков. IIS также требует прав администратора для установки и отладки проектов. Различные версии Windows поддерживают различные версии IIS, Например, если у вас Windows XP, то у вас будет стоять IIS 5.1, который не поддерживает все новые возможности IIS 7.x. Настраивая веб-проект в VS на использование IIS, вам придется доустановить недостающие компоненты и пройти дополнительные шаги настройки.

IIS Express — все лучшее


Мы работали над новой фичей IIS 7.x, которая оптимизирована для сценариев разработчиков, которую мы назвали “IIS Express”. Мы думаем, он объединяет в себе легкость использования ASP.NET Web Server и всю мощь IIS. Вот перечень особенностей:

  1. Он легче и прост в установке (менее 10Mb для загрузки и супер-быстрая установка)
  2. Не требует прав администратора для запуска/отладки приложений из Visual Studio
  3. Предоставляет полный набор возможностей веб-сервера, включая SSL, URL Rewrite, поддержка медиа и других IIS 7.x модулей
  4. Поддерживает ту же модель расширения web.config, что и IIS 7.x
  5. Может быть установлен рядом с IIS и ASP.NET Development Server, не конфликтует абсолютно
  6. Работает на Windows XP и выше, дает все преимущества IIS 7.x на всех ОС-платформах

На IIS Express (как и на ASP.NET Development Server) можно быстро запустить любой сайт из директории на диске. Не требует никаких шагов регистрации или настройки. Все это позволяет просто и со вкусом работать любому веб-разработчику.

Интеграция с VS 2010


Мы позаботились о простой интеграции IIS Express в Visual Studio 2010. Вы можете использовать его вместо ASP.NET Web Server, как веб-сервер по умолчанию для ASP.NET проектов. Как и с ASP.NET Development Server, вам не нужно регистрировать сайт или виртуальную директорию для IIS Express. Он используют ту же модель работы, что и ASP.NET Web Server сегодня, но только дает больше возможностей.
Когда я нажму F5 для запуска ASP.NET проекта, Visual Studio автоматически запустит IIS Express и будет использовать его для запуска/отладки приложений (никаких дополнительных настроек не требуется). Как и во время работы ASP.NET Web Server, IIS Express будет отображаться в трее панели задач:

Нажав правой кнопкой по иконке и выбрав “Exit” вы с легкостью выключите IIS Express. Вы также можете просмотреть список всех запущенных сайтов, а так же их месторасположение на диске и версию .NET:

Две классных фичи:

  1. Запущенный “Test Site”, как и сам IIS Express, живет в директории c:\users\[username]. Что позволяет являясь не администратором использовать IIS Express, сайты и другие сценарии, которые не возможны с полной версией IIS (включая возможность запускать IIS Express, как в ограниченной по параметрам безопасности корпоративной среде так и на школьных рабочих местах с ограниченным доступом).
  2. Запущенный “Test Site” поддерживает HTTP и HTTPS методы доступа. IIS Express автоматически устанавливает самоподписной сертификат и включает URL ACL и SSL сертификаты для портов, так что разработчики (работающие не с правами администратора) могут использовать SSL не требуя увеличить права для дополнительной установки или конфигурирования. Это позволяет настраивать защищенные страницы прямо в приложениях (как формы входа) на SSL и тестировать во время разработки, как на реальном веб-сервере.

Набор возможностей IIS 7


Сегодня, IIS Express так же легко использовать, как и ASP.NET Web Server. Но, учитывая тот факт, что IIS Express основан на IIS 7x, у вас в руках оказывается полнофункциональный веб-сервер. Вы можете запускать свои приложения, как на реальном внешнем веб-сервере. В добавок к ситуациям, как с SSL, вы можете использовать такие модули, как: URL Rewrite, Media Extensions, Dynamic Compression, Advanced Logging, Custom Security и так далее.
А еще, IIS Express поддерживает классический ASP и другие типы файлов и расширения, который поддерживает IIS, все это делает его идеальным для сайтов, которые комбинируют различные технологии.

Заключение


Мы думаем IIS Express позволит гораздо проще создавать, запускать и тестировать веб-приложения. Он работает со всеми версиями ASP.NET и поддерживает все типа ASP.NET приложений (включая Web Forms и MVC). Что еще лучше – вам не нужно ничего менять в коде. Вы можете использовать его для своих проектов уже сегодня.
Выход публичной beta-версии IIS Express уже скоро. Вы сможете нажать правой кнопкой по любой папке и запустить веб-сайт, находящийся в данной директории, в IIS Express. Позже в этом году, мы выпустим атч для VS 2010 и Visual Web Developer 2010 Express, который позволит использовать IIS Express по умолчанию вместо встроенного ASP.NET Developer Server. Дальнейшие версии Visual Studio будут снабжаться данным функционалом по умолчанию.

Перевод статьи Скота Гаттри.

 116   2010