Я пытаюсь развернуть приложение ASP.NET MVC 3 на сервере Windows 2008 x64 (очевидно, под управлением IIS 7.0), и IIS, похоже, не хочет правильно обслуживать контент.Все запросы приводят к ошибке 404.0, поскольку запросы не соответствуют ни одному из обработчиков, а IIS пытается использовать обработчик StaticFile для обслуживания запросов.Эта проблема, по-видимому, связана с .NET 4.0, поскольку у меня приложение MVC 2 прекрасно работает в пуле приложений, настроенном для среды выполнения .NET 2.0.
У меня не было проблем при развертывании этого же приложенияна серверах IIS 7.5 как в Windows 7, так и в Windows Server 2008 R2.
До развертывания на сервере 2008 не было установлено .NET 4.0 или ASP.NET MVC 3, поэтому ниже приведены шаги, которые я предпринял доРазвертывание приложения:
- Установлено .NET 4.0
- Запущен aspnet_regiis.exe (из папки Framework64 / v4.0.30319)
- Установлен ASP.NET MVC 3 с использованиемустановщик веб-платформы
- Прикладное обновление MS KB980368 , позволяющее некоторым обработчикам IIS 7.0 или IIS 7.5 обрабатывать запросы, URL-адреса которых не заканчиваются точкой
Запросыстатические ресурсы в приложении (файлы JavaScript, изображения и т. д.) проходят без перебоев, но любой запрос к действию MVC завершается с ошибкой 404.0.Я заметил, что IIS использует обработчик StaticFile для обработки этих запросов, что, очевидно, неверно.Насколько я могу судить, обработчики ASP.NET 4.0 (то есть обработчики ExtensionlessUrl-ISAPI-4.0 *) правильно определены, поэтому я понятия не имею, почему / как запрос не будет обработан одним из этих обработчиков и приведет к падению всехвплоть до обработчика StaticFile.
Я также натолкнулся на следующую статью базы знаний MS , в которой упоминается, что вы должны убедиться, что перенаправление HTTP и сжатие статического содержимого включены / установлены на сервере, где выиспытывают 404 ошибки.Я проверил, и обе функции уже были включены для моего сервера.Я даже пытался удалить и переустановить функции, но безрезультатно.
На данный момент у меня совершенно нет идей, почему это не работает должным образом.Мне удалось повторить проблему на 2 разных серверах IIS 7.0.Чего мне не хватает?