Andrey on .NET | IIS Express beta 3

IIS Express beta 3

Не так давно вышла бета версия Visual Studio 2010 Service Pack 1. Среди прочих перечня дополнений и исправлений есть одно, не менее интересное чем новый Help Viewer. Это поддержка давно анонсированного, но все еще не вышедшего IIS Express. Давайте посмотрим подробнее.

А для чего IIS Express вообще нужен?

Действительно, зачем? Ведь в Visual Studio 2010 есть интегрированный веб-сервер для отладки. С другой стороны есть сам IIS 7. На что нацелена Express версия?

Конечно, встроенный веб-сервер Visual Studio имеет свои плюсы. Например, работа без администраторских привилегий, интеграция с средой разработки и невозможность подключиться к нему удаленно. Однако у него отсутствует поддержка многих возможностей полноценного веб-сервера: SSL, URL Rewriting Rules, пользовательских безопасности и т.д.

Решением может стать установка IIS 7. Это обеспечит поддержку всех нужных возможностей. Но при этом потребуются администраторские привилегии. А далеко не везде политика безопасности организаций это допускает. Кроме того, IIS 7 нельзя установить на компьютерах с Windows XP. В этом случае придется ограничиться IIS 5.1, что может не обеспечить все нужные функции. Кроме того, "легким" (для целей разработки) IIS не назовешь. А его запуск и остановка требуют дополнительных действий.

Вот тут и приходит IIS Express, сочетая в себе плюсы обоих вариантов:

  • легкий и быстро устанавливаемый (менее 10 Мб);
  • для работы не нужны администраторские привилегии;
  • поддерживает все возможности IIS 7.x: SSL, URL Rewriting Rules, поддержка Media и т.д.
  • может быть запущен на одном компьютере с интегрированным сервером и IIS;
  • требует для работы Windows XP и выше, при этом предоставляя возможности IIS 7 на всех ОС;
  • по умолчанию использует только локальные порты;
  • интегрируется с Visual Studio 2010.

Установка

Раньше IIS Express был доступен как часть среды WebMatrix. В интернет можно было найти даже инструкции как "вырезать" его оттуда и встроить в Visual Studio.

Больше нет в этом необходимости, т.к. IIS Express Beta 3 доступен как самостоятельное приложение. Достаточно загрузить программу установки со страницы

http://www.microsoft.com/web/gallery/install.aspx?appid=iisexpress

и через несколько минут IIS Express будет развернут на компьютере разработчика. В данный момент доступна только x86 версия, которая работает и под Win64 через механизм WoW64.

После установки никаких новых пунктов в меню не добавляется. Все управление – в файлах конфигурации и внутри Visual Studio, разумеется при условии, что Service Pack 1 уже установлен.

Создание нового веб-сайта

Установка как сервер по умолчанию для новых проектов

IIS Express возможно установить как сервер по умолчанию для всех создаваемых проектов в Visual Studio 2010. Для этого, используя меню, необходимо открыть Tools –> Options –> Projects and Solutions –> Web Projects и отметить опцию "Use IIS Express for new file-based web sites and projects".

IIS Express beta 3

Указание расположения нового сайта

Так же, при создании нового веб-сайта можно сразу расположить его на IIS Express, как и в случае с обычным IIS 7. Для этого, в диалоге New Web Site, достаточно выбрать HTTP в качестве места расположения и нажать кнопку Browse. В открывшемся диалоге в разделе Local IIS будет список существующих IIS Express сайтов. Остаётся только выбрать нужное расположение.

IIS Express beta 3

Зарегистрировать новый сайт можно, добавив запись в файл applicationhost.config расположенный в папке [Documents текущего пользователя]\IISExpress\config. Для этого необходимо найти секцию <sites> и добавить новый подраздел <site>. Формат данного файла один в один повторяет формат файла настройки IIS.

Обратите внимание на место хранения настроек (папка документов конкретного пользователя). В отличии от настроек IIS, они являются персональными для каждого пользователя компьютера и не требуют администраторских привилегий при работе с ними.

Подключение IIS Express к существующему проекту

Задействовать IIS Express в уже созданном очень просто. Для этого нужно всего несколько щелчков мышкой: открыть контекстное меню проекта правой кнопкой и выбрать пункт "Use IIS Express" левой. Кстати, обратный переход аналогичен, только пункт меню заменяется на "Use Visual Studio development server".

IIS Express beta 3

Эту же настройку можно выполнить через свойства проекта. Среди пунктов на странице Web есть соответствующие пункты.

IIS Express beta 3

Так же, при выбранном проекте и подключенном IIS Express в окне Properties можно увидеть и изменить некоторые настройки сервера. Здесь можно изменить настройки SSL, запуска, авторизации и конвейера:

IIS Express beta 3

Запускаем IIS Express

Как видно из описания выше, установка и подключение к проекту не вызывает никаких трудностей. Теперь запустим проект. В области нотификации будет выведена иконка IIS Express.

IIS Express beta 3

Открывающееся меню достаточно лаконично, но при этом вполне достаточно. Кроме того, при работающем сервере доступно окно, в котором отображены все подробности запущенных веб-сайтов. Для его просмотра необходимо выбрать пункт "Show All Applications".

IIS Express beta 3

Как можно заметить, запущенный сайт доступен как по HTTP, так и по HTTPS протоколу. Кроме того, отображены следующие данные:

  • URL для каждого запущенного веб-сайта;
  • родительский процесс;
  • версия run-time;
  • место, где расположено веб-приложение
  • путь до файла applicationHost.config.

Так же стоит отметить, что Visual Studio самостоятельно устанавливает версию run-time в зависимости от настроек запускаемого проекта.

Немного фактов про IIS Express

  • Сервер поддерживает практически все версии .NET Framework: 2.0, 3.0, 3.5 и 4.0.
  • Распространение в составе проектов для IIS Express beta 3 запрещено. Но данный вопрос еще будет рассматриваться до момента выхода финальной версии.
  • IIS Express для работы SSL устанавливает самоподписанный сертификат. Поэтому при доступе через HTTPS браузеры будут выдавать предупреждающее сообщение.
  • Есть некоторые операции, требующие администраторских привилегий:
    • запуск сайта на 80 и прочих стандартных портах;
    • установка своего SSL сертификата;
    • разрешение доступа к сайтам из локальной сети.
  • Сервер поддерживает запуск из командной строки. Её параметры доступны в документации.
  • Поддерживаются только HTTP и HTTPS протоколы. Поэтому для WCF over MSMQ и net.tcp по прежнему нужен IIS 7.
  • Поддержи FTP нет (да и к чему она).
  • IIS Express не поддерживает запуск SharePoint Foundation 2010, но может работать с ним на одном компьютере. Так же как он может быть запущен на одном компьютере с любым другим веб-сервером до тех пор, пока нет конфликта привязки к портам. Для этого по умолчанию IIS Express использует порт 8080, а Visual Studio назначает порт самостоятельно.
  • Разворачивание IIS Express при помощи x-copy пока официально не поддерживается. Однако и в данный момент можно перенести сервер простым копированием.

Добавить комментарий