Получение приложения ASP.MVC2 / VS2010 для работы в IIS 7.5
Недавно я загрузил бета-версию 2 VS2010 и начал играть с ASP.NET MVC2. Первоначальная разработка была выполнена с Casini, но теперь я хотел запустить приложение из IIS 7.5 (у меня работает Windows 7). Я установил совместимость с метабазой IIS6, и я запускаю VS2010 в качестве администратора, поэтому я могу использовать кнопку «Создать виртуальный каталог» на вкладке «Веб» в настройках проекта. Это создало запись веб-приложения в IIS, но она не работает.
Когда я перехожу на главную страницу ( http: // localhost / MyMvcApp / ), я получаю ошибку HTTP 403. Когда я перехожу непосредственно на одну из подстраниц ( http: // localhost / MyMvcApp / Home / ), я получаю HTTP 404.
Поэтому я думаю, почему-то маршрутизация URL-адресов не работает. Я уже добавил UrlRouting в качестве модуля и обработчика web.config. В моих поисках это предлагается как решение для некоторых проблем с similair. Но для меня это все еще не работает.
- Страница HTTP 404 не найдена в Web Api, размещенной в IIS 7.5
- Не удалось выполнить аутентификацию службы ASP.NET Web Api с помощью HttpClient
- Ошибка HTTP 404.3-Не найден в IIS 7.5
- Как защитить статические файлы с помощью аутентификации формы ASP.NET в IIS 7.5?
- Просмотр моего сайта, размещенного на IIS, на других компьютерах в моей сети
Интересная часть моего web.config выглядит так:
- Фиксирование медленной начальной нагрузки для IIS
- Как увеличить тайм-аут запроса в IIS?
- Разрешение удаленного подключения в IIS на Windows 7
- Подробное сообщение об ошибке 500, ASP + IIS 7.5
- ASP.NET MVC Routing - добавление расширения .html к маршрутам
- Обнаружен параметр ASP.NET, который не применяется в режиме интегрированного управляемого конвейера
- Как включить HTTP PUT и DELETE для ASP.NET MVC в IIS?
- Добавить пользовательский заголовок на основе типа файла
У меня была эта проблема, и, к сожалению, исправление здесь не сработало для меня.
Что работала над этим:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
в командном окне … теперь работает как сон!
(Итак, ASP.Net не установлен в IIS по умолчанию при установке VS2010?)
После проверки и проверки я заметил, что в диалоговом окне «Включить или отключить Windows» диалоговое окно «Ошибки HTTP» и «Перенаправление HTTP» отсутствовали. Это странно, поскольку, насколько я помню, это было установлено автоматически установщиком Microsoft Web Platform. В любом случае «HTTP Redirection» показалось, что при работе с MVC функция «необходимость иметь». Поэтому после того, как я установил его, все казалось безупречным.
Добавьте это в свой файл web.config
:
Это такая боль делает это вручную. Но определенно выполнимо ! Я справился с этим и подвел итог в этом пошаговом руководстве по добавлению проекта mvc 2 в существующее решение для веб-форм . Надеюсь, это поможет … Мне потребовались годы, чтобы работать, несмотря на все настройки конфигурации, и, похоже, на эту тему так мало ресурсов.
Что мне помогло использовать classический конвейер для AppPool вместо интегрированного: alt text http://img823.imageshack.us/img823/3684/20100612135212.png
Обратите внимание, что вы должны запускать aspnet_regiis.exe -ir как администратор, это кажется очевидным, но когда вы устали пытаться безрезультатно решить эту проблему, вы можете передать ее.
Просто сказать большое СПАСИБО всем ответам, после многих часов, пытаясь разузнать, наконец, я смог получить работу с моим приложением MVC 2 в IIS.
Я создавал приложение MVC2 на своем ноутбуке Windows 7, используя бета-версию .net beta 2 и бета-версию VS 2010. Когда я установил всю среду разработки на Windows Server 2008, включая VS, построил решение и запустил его, маршрутизация работала нормально.
Следующим шагом было создание производственного сервера на Windows Server 2008, на котором я развернул бета-версию .net 4.0, но ни один из других материалов, которые поставлялись с бета-версией VS 2010. В этой конфигурации маршрутизация никогда не работала до тех пор, пока я не включу HTTP-redirect, как указано Jeroen.
Надеюсь, это поможет кому-то, кто может быть в одной лодке.
Просто хотел заметить, что у меня была такая же проблема с 403 и 404, но добавление system.webServer
и всех элементов из system.web/pages/namespaces
разрешило это для меня.