iis7.5 mvc2 404 и 500.24 ошибка - PullRequest
       37

iis7.5 mvc2 404 и 500.24 ошибка

2 голосов
/ 18 ноября 2010

Это мое первое развертывание приложения MVC2 (.NET4) на IIS7.5.Я использую StructureMap и Fluent NHibernate, и все работает локально, используя встроенную защиту.Приложение отображает первую страницу (controllername/pagename), но выдает ошибку на следующей странице (controllername/pagename/id).

Я запустил %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir.HttpRedirection и HttpExceptions включены.

Это ошибка 404 из источника просмотра:

[HttpException]: контроллер для пути '/ имя_контроллера / имя_пагента /1' не найден или не реализует IController.
в System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (RequestContext RequestContext, Тип controllerType)
в CustomerResponses.Infrastructure.StructureMapControllerFactory.GetControllerInstance (RequestContext RequestContext, Тип controllerType) вC: \ Apps \ Development Source \ CustomerResponsesApplication \ trunk \ CustomerResponses \ Infrastructure \ StructureMapControllerFactory.cs: строка 19
в System.Web.Mvc.DefaultControllerFactory.CreateController (RequestContext requestContext, String controllerName)
в системе.Mvc.MvcHandler.ProcessRequestInit (HttpContextBase httpContext, IController & controller, IControllerFactory & factory)
в System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContextBase httpContext, Asобратный вызов yncCallback, состояние объекта)
в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()
в System.Web.HttpApplication.ExecuteStep (IExynSlep)

Другая ссылка дает мне ошибку 500.24:

Ошибка HTTP 500.24 - внутренняя ошибка сервера
Обнаружен параметр ASP.NET, который не применяетсяв режиме интегрированного управляемого конвейера.

У кого-нибудь есть идеи?Спасибо

Часть на Web.Config

system.webServer - раздел

<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>

<handlers>
  <add name="UrlRoutingHandler"
     preCondition="integratedMode"
     verb="*" path="UrlRouting.axd"
     type="System.Web.HttpForbiddenHandler,  
         System.Web, Version=2.0.0.0, Culture=neutral,  
         PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

<!--<handlers>
  <remove name="MvcHttpHandler" />
  <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler" />
  <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>-->

Global.asax

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
routes.IgnoreRoute("{*datepick}",
    new { datepick = @"(.*/)?jquery.datepick.css(/.*)?" });
    // ignore datepick.css file
routes.IgnoreRoute("{*favicon}",
    new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.IgnoreRoute("{*chevron}",
    new { chevron = @"(.*/)?Images/Chevron.gif(/.*)?" });
routes.IgnoreRoute("{*iconhome}",
    new { iconhome = @"(.*/)?Images/IconHome.gif(/.*)?" });

routes.MapRoute("test", "testroute",
    new { controller = "compresponses", action = "list" });

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

Ответы [ 2 ]

0 голосов
/ 04 июня 2013

Измените свойства пула приложений на:

.NET Framework Version
-- .NET Framework *version*

Pipeline Mode
-- Classic
0 голосов
/ 06 августа 2011

Одна из проблем: ваш файл web.config содержит слишком много информации.IIS 7.5 при работе в интегрированном режиме не требует каких-либо дополнительных настроек.Я бы рекомендовал создать пустое приложение MVC и опубликовать его на веб-сервере.Также я видел ошибку:

[HttpException]: Контроллер для пути '/ имя_контроллера / имя_папки / 1' не найден или не реализует IController.в System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (RequestContext requestContext, Type controllerType) в

, где говорится, что dll или system.web или system.web.mvc не указана в проекте.

Мое решение (может быть, не самое лучшее), но это: Правая кнопка в проекте, где произошла ошибка, и скопируйте локальные dll, и это должно помочь с ошибкой.

как для ошибки: Другая ссылка дает мне 500.24ошибка: ошибка HTTP 500.24 - внутренняя ошибка сервера Обнаружен параметр ASP.NET, который не применяется в режиме интегрированного управляемого конвейера.

лучше всего установить консоль iis и открыть проект с помощью консоли iis.

...