部署到托管环境(Windows server 2008 R2、IIS7)后的 ASP.NET MVC 应用程序按预期工作 - 直到 IIS 应用程序池被回收。IIS 管理员已将应用程序池配置为定期回收。
应用程序池回收后,应用程序返回以下错误。
“Icontrollerfactory 没有返回名称的控制器”
路由在 Global.asax 中的应用程序启动事件中初始化。
完整的例外是"The IControllerFactory "Controllers.ControllerFactory" 没有返回名称为 "ProductStatus" 的控制器。
堆栈跟踪说
at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)