Представляем IIS Express

Original author: Scott Gu
  • Translation
Сегодня разработчики создают и тестируют 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”) обладает преимуществами легкого и быстро запуска. Он не слушает удаленные порты (что делает проще работу в корпоративной среде в плане безопасности), работает даже когда у вас нет прав администратора, не требует отдельной установки на машину.

image

Недостатком же является неполный набор возможностей веб-сервера. Например, отсутствует поддержка SSL, URL Rewriting Rules (о котором я недавно писал), собственных настроек безопасности и другие возможности IIS 7.

IIS веб-сервер


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

image

Используя 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 будет отображаться в трее панели задач:

image

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

image

Две клевых фичи:
  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.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 будут снабжаться данным функционалом по умолчанию.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 15

    +6
    Интуитивно начал искать в тексте ссылку на скачивание.
      0
      А я не понял, зачем лично мне может пригодиться.
      1. Пишу я не под XP :)
      2. Сколько весит на диске обычный IIS меня мало волнует.
      3. Тестить все равно придется на обычном IIS. Этот вопрос очень волнует, т.к. не хочется сталкиваться со случаями, когда все отлично на девелоперском сервере и плохо в продакшине.
        +1
        Ну не у всех же стоит 2008 веб эдишн на рабочей машине. На мой взгляд будет востребовано.
          +1
          Мда, про лимиты Home, Basic и Starter Editions я забыл, каюсь

    • UFO just landed and posted this here
        +2
        Меня, как разработчика на .Net, единственное чем не устраивал поставляемый со студией «ASP.Net Development Server», так это отсутствием поддержки HTTPS. Только из-за этого приходится ставить IIS7 для разработки.
        В IIS7 Express, судя по скриншотам он поддерживается — это хорошо

        Ещё с IIS7 связано другое «неудобство» — приходится VisualStudio запускать в режиме «Run As Administrator». Будет ли такая необходимость при отладке под IIS7 Express?

          +1
          >> Будет ли такая необходимость при отладке под IIS7 Express?

          не будет, в статье об этом написано
            0
            Не требует прав администратора для запуска/отладки приложений из Visual Studio

              0
              Ещё с «ASP.Net Development Server» не подебажишь WCF сервисы с netTcpBinding (приходится тоже через IIS), но это редкий случай.
              +1
              Глядишь, когда-нибудь IIS можно будет обновлять без необходимости установки новой ОС.
                +2
                Это хорошо, так как средство предоставляемое студией не соответствует IIS, и люди разработавшие что-то под это средство и залившие это что-то на хостинг в ряде случаев бывают в замешательстве =)
                  0
                  Один вопрос: когда?
                    0
                    скоро, им же во основном урезать код надо, а не писать новый :)
                  • UFO just landed and posted this here
                      0
                      Кому интересно вышла версия WbMatrix. В ней вроде работает IIS Express…

                      Only users with full accounts can post comments. Log in, please.