ASP.NET MVC: IIS6

При развертывании приложений ASP.NET MVC на инфраструктуре IIS6 неизбежно появляются некоторые трудности.

Чаще всего все начинается с отсутсвия на сервере .NET 4 и самой библиотеки MVC. Оба компонента можно совершенно бесплатно скачать с сайта Microsoft и безболезненно установить на сервер.

После создания сайта в IIS6, необходимо указать, что веб-серверу нужно использовать именно .NET 4:


Также необходимо создать новый пул приложений, назвать его, например, NET4 и добавить в него ваш сайт ASP.NET MVC.

Затем, для осуществления механизма маршрутизации ASP.NET MVC, необходимо зарегистрировать для сайта расширение aspnet_isapi.dll, идущее в поставке .NET4. Для регистрации необходимо зайти в свойства сайта, перейти на вкладку «Номе Directory» и в поле «Application Settings» нажать на кнопку «Configuration...». В открывшейся вкладке «Mappings»
нажать на кнопку «Insert» -> «Browse...», перейти в папку Microsoft.NET/Framework директории Windows (или WINNT), выбрать папку с версией 4, а в ней файл aspnet_isapi.dll. После этого нажать «Ok», убрать галочку «Verify that file exist» и применить изменения. Илюстрации к описанным действиям можно посмотреть в статье про URL-rewriting для .NET 2.

В завершении необходимо включить расширение aspnet_isapi. Для этого запускаем командную строку и переходим в папку «System32» вашего каталога Windows. После этого выполняем следующую команду:
cscript iisext.vbs /EnFile C:\WINNT\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

Естесственно путь к файлу и версия .NET должны быть исправлены на ваши.
Если все сделано правильно, то выполнение команды:
cscript iisext.vbs /ListFile

Должно вывести строчку примерно следующего вида:


Вот и все
— после указанных действий ваш сайт ASP.NET MVC Должен без проблем работать на IIS6.
 
 

Статьи на схожую тематику:

ASP.NET MVC: работа с Membership provider
ASP.NET MVC: страница авторизации по умолчанию
Visual Studio 2010: Master Product Key и правила его формирования
ASP.NET: URL Rewriting в .NET 4
ASP.NET: Google Maps, часть I