2010-07-14 5 views
1

Привет всем. Я получаю 404 ошибки при попытке получить доступ к моему сайту ASP.NET MVC 2. Я размещаю этот сайт с помощью II7, и у меня есть сайт, на котором используется режим интерконфигурированного конвейера DefaultAppPool. Вот мои маршруты, это довольно простой сайт:ASP.NET MVC 404 Ошибки для IIS 7 Интегрированный режим

 routes.MapRoute(
      "DefaultRoute", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional // Parameter defaults 
     }); 

     routes.MapRoute(
      "UploadRoute", // Route name 
      "Upload/{id}", // URL with parameters 
      new { controller = "Upload", action = "Index", id = UrlParameter.Optional 
     }); 

Attemping идти в ~/Home или ~/закачивать как результат в 404 ошибок. Просмотр удаленной директории root ~/заставит страницу просто сидеть и ждать навсегда, если я попытаюсь получить доступ к корню локально, я получаю ошибку 403.14. Я в тупике, я думал, что ASP.NET MVC и IIS7, работающие в режиме интеграции, должны быть простыми. Благодарю.

+1

Я переустановил структуру MVC и выполнил кучу обновлений Windows на коробке. Затем удалил сайт и создал новый, на этот раз я добавил сайт в качестве приложения, и теперь он работает. Пожалуйста, закройте этот вопрос. – stupidkid

ответ

0

У меня была такая же проблема, и я убедился, что для пула приложений по умолчанию установлено значение .net 4 и оно работает. Если бы я выбрал пул приложений для .net 4 classic или .net 4, интегрированный в приложение, я бы получил эту ошибку. Он работал только тогда, когда я выбрал пул приложений по умолчанию. Это было на новой серверной установке 2008 года, ничего больше не было установлено MVC и веб-страницы (webmatrix). очень странно. Я надеюсь, что это помогает кому-то.

0

Возможно, вы попадаете в файл без действия, например, в файл js или css. Добавьте маршрут игнорирования в начале.

routes.IgnoreRoute("*.html|js|css|gif|jpg|jpeg|png|swf"); 

Вы также можете попробовать использовать RouteDebugger и посмотреть, где он будет, или нет в вашем случае http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx

-1

Кроме того, проверьте, чтобы увидеть, что Перенаправление HTTP включен в IIS7.

1

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

Перейти к теме: Ваш DefaultAppPool работает под .NET 4.0? Может быть, этот link может вам помочь? Вы больше похожи на вопрос о конфигурации вашего IIS?

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