У меня стандартное приложение ASP.NET 4.Внутри этого приложения также есть несколько бритвенных (например, test.cshtml
) файлов.Однако приложение ASP.NET работает, если я указываю браузеру файл /test
(без расширения).IIS (статический обработчик файлов) возвращает 404.
То же приложение и даже отдельные .cshtml
файлы работают на локальном компьютере (с IIS7.5 / Win7) и на сервере с (IIS7.5 / Win2008R2)Однако он не работает на сервере с IIS7.0 / Win2008.
MVC3 установлен на обеих машинах, пулы приложений на обеих машинах интегрированы .NET 4.0.
Как.cshtml
обработчики работают?Когда IIS решает использовать статический обработчик файлов, а когда .cshtml
?Что еще я должен проверить?
РЕДАКТИРОВАТЬ:
Разъяснение - я на самом деле не использую всю инфраструктуру MVC, это какобычный старый файл .ASPX или PHPНет контроллеров, нет маршрутов, нет «просмотров».Я использую его для простого сценария в дополнение к старому приложению ASP.NET.
Я думаю, что это не проблема программирования, поскольку она работает на локальном компьютере, а скорее проблема конфигурации - IIS на Win2008сервер может быть неправильно настроен.
EDIT2:
(Машины с IIS7.5 работают, только машина с IIS7.0 не работаетНо я не уверен, является ли это проблемой версии IIS.)
EDIT3:
На моем локальном компьютере, где он работает,Я не установил никакой маршрутизации.TheCodeKing и Кит предположили, что мне нужно где-то иметь маршрутизацию.Может быть да, но это не в моем приложении.Он может быть установлен по умолчанию где-нибудь в конфигурации IIS.
Есть ли у вас какие-либо подсказки, где можно найти эту «неявную» маршрутизацию?
EDIT4:
Примечание. На всех компьютерах для *.cshtml
есть HttpForbiddenHandler
, поскольку вы не можете загрузить файл cshtml.И есть также TransferRequestHandler
для *.
.(Оба включены.)
EDIT5:
Я обнаружил, что на серверах, где он работает, мне нужно иметь любой.cshtml
файл в корне сети.Если я удалю .cshtml
из корня сети и попытаюсь вызвать любой из подкаталога, он не будет работать.
EDIT6:
Я пробовал это на двух других машинах: одна с IIS 7.5
, а другая с IIS 7.0
.На IIS 7.5
он работает (обычная установка без конфигурации), но на IIS 7.0
он не работает.
Как заставить его работать на IIS 7.0?