ASP.NET маршрутизация в производственной среде - PullRequest
0 голосов
/ 04 октября 2011

Я зарегистрировал собственный маршрут asp.net в RouteTable.Routes.

routes.MapPageRoute(
            "View Service",                    
            "home/services/{*ServiceName}", 
            "~/home/displayservice.aspx"   
        );

Мое приложение использует систему маршрутизации ASP.NET 4.0, и все отлично работает на компьютере разработчика, когда я запускаю веб-сайт из Visual Studio для отладки.

Когда я перемещаю сайт на IIS7, при переходе на

маршрутизация не происходит
http://new.komplus.ua/home/services/viruses/antivirus/

или любой другой путь, который должен обрабатываться системой маршрутизации. В результате я получаю от сервера ошибку 404.

Я уверен, что скопировал global.asax и /home/displayservice.aspx на веб-сервер и перезапустил веб-сайт и пул приложений после обновления, но маршрутизация по-прежнему не выполняется.

Другие, не маршрутизированные страницы, нормально загружаются.

Существует ли какая-либо конкретная конфигурация для IIS, которую необходимо выполнить, чтобы работала маршрутизация ASP.NET 4 по сравнению со средой отладки VS2010?

1 Ответ

0 голосов
/ 05 октября 2011

Чтобы маршрутизация ASP.NET 4.0 работала в IIS7, необходимо, чтобы в файле web.config был объявлен элемент webServer.Например:

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

Это не является обязательным требованием в среде Visual Studio, где маршрутизация происходит даже без этой директивы в web.config.

...