Представляем IIS Express
Сегодня разработчики создают и тестируют ASP.NET сайты и приложения, используя один из двух веб-серверов:
- ASP.NET Development Server, который является встроенным в Visual Studio
- 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”) обладает преимуществами легкого и быстро запуска. Он не слушает удаленные порты (что делает проще работу в корпоративной среде в плане безопасности), работает даже когда у вас нет прав администратора, не требует отдельной установки на машину.
Недостатком же является неполный набор возможностей веб-сервера. Например, отсутствует поддержка 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. Вот перечень особенностей:
- Он легче и прост в установке (менее 10Mb для загрузки и супер-быстрая установка)
- Не требует прав администратора для запуска/отладки приложений из Visual Studio
- Предоставляет полный набор возможностей веб-сервера, включая SSL, URL Rewrite, поддержка медиа и других IIS 7.x модулей
- Поддерживает ту же модель расширения web.config, что и IIS 7.x
- Может быть установлен рядом с IIS и ASP.NET Development Server, не конфликтует абсолютно
- Работает на 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:
Две клевых фичи:
- Запущенный “Test Site”, как и сам IIS Express, живет в директории c:\users\[username]. Что позволяет являясь не администратором использовать IIS Express, сайты и другие сценарии, которые не возможны с полной версией IIS (включая возможность запускать IIS Express, как в ограниченной по параметрам безопасности корпоративной среде так и на школьных рабочих местах с ограниченным доступом).
- Запущенный “Test Site” поддерживает HTTP и HTTPS методы доступа. IIS Express автоматически устанавливает самоподписной сертификат и включает URL ACL и SSL сертификаты для портов, так что разработчики (работающие не с правами администратора) могут использовать SSL не требуя увеличить права для дополнительной установки или конфигурирования. Это позволяет настраивать защищенные страницы прямо в приложениях (как формы входа) на SSL и тестировать во время разработки, как на реальном веб-сервере.
Набор возможностей IIS 7.x
Сегодня, 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 будут снабжаться данным функционалом по умолчанию.
Источник – Scott Gu