2013-04-23 3 views
6

У меня есть проект ASP.NET MVC 4 с использованием .NET 4.5, который я пытаюсь опубликовать в IIS 7.0 с помощью Visual Studio 2012. Когда я отлаживаю приложение в IIS Express, все работает чудесно. Когда я публикую его на сервере, запросы MVC возвращают 404. У меня есть несколько страниц ASPX на сайте, и все они работают нормально. Ниже приведена схема маршрутизации. Код шаблона:MVC 4 приложение, дающее 404 при развертывании

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

Thanks.

редактирует:

Я получил его! Я должен был добавить следующее system.webServer в моем web.config:

<modules runAllManagedModulesForAllRequests="true"/> 

Может кто-нибудь сказать мне, почему это?

+0

установлен MVC4 и .net 4.5 на сервере? –

+0

Да, оба установлены. – Jordan

+0

Ну, у меня установлен .NET 4.5, но что мне нужно установить на сервер для MVC 4? – Jordan

ответ

1

Эта ссылка может помочь:.

https://www.iis.net/configreference/system.webserver/modules

«runAllManagedModulesForAllRequests ранее был быть установлен верно для поддержки маршрутизации Однако после того, как IIS 7 был обновлен пакет обновления, значение runAllManagedModulesForAllRequests может быть установлено в false или опущено при работе с маршрутизацией ASP.NET ».

(очевидно установка IIS или служба Windows, пакет требует тщательного рассмотрения первого)

+0

Это было почти 3 года назад. Я даже не помню, над каким проектом я работал. Спасибо за информацию. – Jordan

2
<modules runAllManagedModulesForAllRequests="true"/> 

Ссылка: Here

+0

Это не совсем объясняет это по моей конкретной проблеме. – Jordan

+0

Этот ответ был бы лучше, если бы содержание по ссылке было подведено здесь, если ссылка умирает – reggaeguitar

Смежные вопросы