开发者

Probable Timeout Issue

开发者 https://www.devze.com 2022-12-08 01:29 出处:网络
If I leave an ASP.NET MVC application for a while then try to access any page, or if I re-compile the application and try to access anything but the root page I get the error of Error executing child

If I leave an ASP.NET MVC application for a while then try to access any page, or if I re-compile the application and try to access anything but the root page I get the error of Error executing child request for handler followed by the page path such as 'ASP.areas_accounts_views_contractscontrol_createdatacontract_aspx'. Any ideas as to why this may be happening? It just happens after a re-compile which means if it's ever launched live everyone will see this error when trying to access any page but the home page.

Cheers

Here's the stack trace:

[HttpException (0x80004005): Error executing child request for handler 'ASP.areas_accounts_views_contractscontrol_generalcontracts_aspx'.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2677782
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +77
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +28
   System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +22
   System.Web.Mvc.ViewPage.RenderView(ViewContext viewContext) +180
   System.Web.Mvc.WebFormView.RenderViewPage(ViewContext context, ViewPage page, TextWriter textWriter) +96
   System.Web.Mvc.WebFormView.Render(ViewContext viewContext, TextWriter writer) +95
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +278
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +10
   System.Web.Mvc.<>c__DisplayClass11.<InvokeActionResultWithFilters>b__e() +20
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +251
   System.Web.Mvc.<>c__DisplayClass13.<InvokeActionResultWithFilters>b__10() +19
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +178
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +392
   System.Web.Mvc.Controller.ExecuteCore() +126
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +39
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +7
   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +151
   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +57
   System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +7
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

The source error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

HttpHandlers section of my web.config

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extens开发者_JS百科ions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
  <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" />
</httpHandlers>

Submitted as a bug to MvcSiteMap on CodePlex.


I don't think that it is the recompile that is the problem.

It the app in IIS is idle for a while, or if there is a recycling of the application pool, then information cached in memory is lost.

The next call will then trigger a JIT recompile.

What is also lost is any data cached in memory, and any singelton objects that may have been created.

My guess is that you are creating or initializing something when the root page is called. All other pages are dependent upon this initialization having been done. That is why the other pages fail if they are called before the root page.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号