Это мое первое развертывание приложения 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
);