Как стать автором
Обновить

Интеграция Visual Studio 2010 SP1 и IIS Express

Время на прочтение4 мин
Количество просмотров4.3K
Автор оригинала: Ibrahim Hashimi
Несколько дней назад Джейсон Зандер (Jason Zander) написал в своем блоге о выходе Visual Studio 2010 SP1 Beta (ссылки ниже, в конце статьи). Я рад поделиться с вами, друзья, новостями о том, что SP1 Beta добавил возможность интеграции с IIS Express в Visual Studio. Для этой интеграции вам потребуется скачать IIS Express отдельно, после того как вы установите SP1 Beta. После загрузки и установки IIS Express вы получите возможность создавать веб-проекты и веб-сайты, использующие IIS Express вместо Cassini (веб-сервера, который используется в Visual Studio по умолчанию). Для того, чтобы узнать побольше о разнице между IIS Express и полноценным IIS или Cassini, пожалуйста ознакомьтесь с записью блога Скотта Гатри, ссылка на которую приложена в конце статьи. Visual Studio 2010 предлагает два варианта веб-проектов: проект Web Application Project (WAP) и проект Website. Вы можете использовать оба типа проектов с IIS Express.

Настройка веб-проектов на использование IIS Express


Проекты обоих типов (WAP и Website), которые ранее использовали Cassini, могут легко использовать IIS Express. Вам достаточно выбрать из контекстного меню “Use IIS Express” опцию  “Use IIS Express”. Взгляните на скриншот, который демонстрирует эту команду.

image

После выполнения этой команды ваш проект будет использовать IIS Express вместо Cassini. Для того, чтобы вернуться обратно на Cassini вам нужно будет выполнить команду “Use Visual Studio Development Server…” в том же самом контекстном меню. Кроме того, вы можете сделать IIS Express вашим сервером по умолчанию для всех новых проектов.

Во время создания проектов типа Website вы можете указать использовать IIS Express вместо Cassini. Когда вы выполните File->New-> Web Site вы увидите обновленный диалог New Web Site. В этом окне вам необходимо нажать кнопку Browse (смотрите на скриншотах ниже).

image

После этого вам будет предложен выбор местоположения того, где должен размещаться ваш сайт. Здесь вы можете выбрать “Local IIS” и создать сайт в IIS Express.

image

В этом окне вам необходимо выбрать пункт “IIS Express Sites” и нажать кнопку “Create New Site” в правом верхнем углу. Выполнив эту команду вы создадите для своего проекта сайт в IIS Express.

Установка IIS Express сервером по умолчанию


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

image

После установке этого значения, все новые веб-проекты и сайты будут использовать IIS Express по умолчанию. Замечание: все уже созданные ранее проекты, работающие на Cassini потребуется перевести на IIS Express вручную.

Использование IIS Express


После того, как вы включите для проектов использование IIS Express и запустите проект на выполнение или начнете его отладку из Visual Studio, вы увидите появление новой иконки в панели уведомлений (трей) Windows. Вы можете щелкнуть на иконке правой кнопкой мыши для того, чтобы быстро получить список всех запущенных с помощью IIS Server приложений. У каждого такого приложения есть свое контекстное меню, через которое вы можете запустить приложение в браузере или остановить его выполнение на сервере.

image

Вы можете выбрать пункт “Show All Applications” для того, чтобы открыть окно со списком всех запущенных на IIS Express проектов. Ниже пример такого окна.

image

Ниже перечислены важные параметры доступные в этом окне:
  • URL каждого приложения;
  • версия среды выполнения для каждого приложения;
  • путь к приложению на диске;
  • путь к файлу настроек applicationHost.config.
Файл настроек applicationHost.config по умолчанию располагается в вашей папке Users. Это позволяет IIS Express работать без административных привилегий. Как вы знаете, полноценный сервер IIS использует applicationHost.config для хранения своих параметров. IIS Express так же как и IIS использует одноименный файл (но не тот же самый). Файл, который использует IIS хранится в каталоге System32 и одинаков для всех пользователей Windows. Файл, который используется IIS Express специфичен для каждого отдельного пользователя.

Что касается времени среды исполнения, это версия CLR, которую будет использовать пул приложения. Для пулов приложений в IIS Express по умолчанию используется CLR 4.0. Вы можете изменить это поведение по умолчанию в настройках applicationHost.config вашего IIS Express. Visual Studio присваивает версию CLR на основе параметров приложения.

Вы можете указать несколько опций вашего веб-приложения прямо в Visual Studio. Если вы выберете пункт Properties в контекстном меню Solution Explorer, то увидите что-то похожее на следующий скриншот.

image

Эти параметры изменяют порядок того, как IIS Express будет запускать ваше приложение. Одной из самых важных возможностей, которой не было в Cassini, является поддержка SSL. В IIS Express такая поддержка есть. Например, для сайта я изменил значение параметра “SSL Enabled” в True и получил новый URL, присвоенный сайту, так что теперь я могу посетить его с поддержкой SSL. Обратите внимание, что IIS Express устанавливает собственный сертификат и в браузерах вы получите предупреждение системы безопасности.

image

Еще одна важная вещь о которой следует знать: когда вы меняете настройки для запуска IIS Express, то они сохраняются в файле applicationHost.config для IIS Express но не в самом проекте. Так что, если вы работаете в команде, то ваши коллеги должны повторить эти настройки у себя.

Для редактирования настроек, которые не показываются в приведенном окне вам необходимо редактировать applicationHost.config напрямую. Вы можете легко получить доступ к нужному файлу перейдя по ссылке в окне IIS Express (Show All Applications). Для проектов типа WAP вы сможете изменить таким образом порт, который используется IIS Express.

Известные ограничения


Пока в работе IIS Express существует ряд ограничений:
  • отсутствует поддержка профилирования;
  • If you add a Web Deployment Project (WDP) to an IIS Express web site you will have to remove the ‘:’ from the name of the WDP;
  • Some issues using WDP for IIS Express sites with sub-webs.

Полезные ссылки

Теги:
Хабы:
+13
Комментарии7

Публикации

Истории

Работа

Ближайшие события