Подтвердить что ты не робот

ASP.NET MVC на IIS попадает в статический обработчик файлов

У меня проблема с сайтом ASP.NET MVC.

Это подробности:

  • ASP.NET MVC 2
  • Интегрированный конвейер ASP.NET 4
  • IIS 7.5 для Windows Web Server 2008 R2

Всякий раз, когда я делаю запрос для приложения, я получаю "HTTP Error 404.0 - Not Found" -error, а подробная информация об ошибке показывает, что это статический обработчик файлов, который сообщает об ошибке:

  • Модуль: IIS Web Core
  • Уведомление: MapRequestHandler
  • Обработчик: StaticFile
  • Код ошибки: 0x80070002

означает, что запрос никогда не входил в стек MVC.

Следует отметить, что IIS уже обслуживает ASP.NET MVC 3 в том же пуле приложений и MVC 2 в пуле приложений ASP.ENT 2. Так что это комбинированный ASP.NET 2 в пуле приложений ASP.NET 4, который дает мне головные боли.

В основном я хочу обновить приложение из ASP.NET MVC 2 в пуле приложений ASP.NET 2.0 до ASP.NET MVC 2 в пуле приложений ASP.NET 4.0.

Итак, любые идеи?

4b9b3361

Ответ 1

Я вижу, что вы исправили свою проблему, но для всех, кто отправляется в Google:

У меня была эта проблема, и в моем случае мне просто нужно было зарегистрировать ASP.NET 4 с IIS. Я удалял и повторно добавлял веб-страницы, чтобы исправить другие проблемы и просто забыл это сделать. Команда, которая работала для меня, была:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

Ваша версия .net может отличаться, особенно если вы находитесь в будущем, поэтому вышеуказанный путь может быть не совсем прав.

Ответ 2

У меня была такая же проблема, когда я установил IIS после установки Visual Studio и т.д.

Мне удалось исправить эту проблему, изменив файл Web.config, добавив тег runAllManagedModulesForAllRequests="true" в тег <modules>:

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

(Подробнее/скопировано здесь: http://www.west-wind.com/weblog/posts/2011/Mar/27/ASPNET-Routing-not-working-on-IIS-70)

Ответ 3

Итак, я нашел ошибку. В корневом каталоге был оставленный по умолчанию документ, который не нужен для приложений, использующих интегрированный конвейер. Также некоторые изменения в Global.ascx и регистрации маршрута были необходимы, но после этого они работали.