Ошибки ASP.NET MVC 404 для интегрированного режима IIS 7 - PullRequest
1 голос
/ 14 июля 2010

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

        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 
        });

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

Ответы [ 4 ]

1 голос
/ 15 июля 2010

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

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

0 голосов
/ 20 апреля 2011

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

0 голосов
/ 15 июля 2010

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

0 голосов
/ 14 июля 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...