Запуск приложения MVC3 на сервере приводит к ответу 403.14 - PullRequest
4 голосов
/ 11 января 2012

Я пытаюсь заставить приложение MVC3 работать на Windows Server 2008 R2 box. Сервер работает под управлением IIS 7.5. Приложение настроено с анонимной аутентификацией и пулом приложений платформы v4.0. Я предоставлял IUSR и IIS_IUSRS доступ к каталогу, пока не переключился на учетную запись службы.

Я пробовал следующее:

  1. Зарегистрированный ASP.NET 4 с IIS (% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir)
  2. Я установил MVC3 на сервер с http://www.asp.net/mvc/mvc3.

Я все еще получаю ответ HTTP 403.14: «Ошибка HTTP 403.14 - запрещено Веб-сервер настроен так, чтобы не перечислять содержимое этого каталога. "

Если я добавлю фиктивный файл index.html, страница будет обработана. Мне кажется, что модуль не перехватывает запрос, чтобы направить запрос на домашний контроллер.

Ответ : Хотя ответ MartinHN действительно разрешил проблему, это приведет к снижению производительности при обслуживании статических файлов. Благодаря его ответу я начал поиск и обнаружил, что есть исправление IIS7, которое позволит приложениям ASP.NET 4 обрабатывать URL-адреса без расширений без запуска всех модулей для каждого запроса. Исправление доступно здесь: http://support.microsoft.com/kb/980368. После установки этого исправления мое приложение обслуживало содержимое, как и ожидалось, без изменения Web.config.

1 Ответ

3 голосов
/ 11 января 2012

Может быть одним из следующих ...

Проверьте ваш web.config на наличие строки:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
            ...
</system.webServer>

и убедитесь, что для пула приложений установлен Integrated Pipiline.

Вы также можете попытаться сбросить сопоставления обработчиков в IIS.Нажмите на сайт -> Сопоставления обработчиков -> Вернуться к родителю (ссылка должна быть на правой боковой панели).

...