2009-10-15 5 views
1

잠시 동안 ASP.NET MVC 응용 프로그램을 종료 한 다음 응용 프로그램을 다시 컴파일하고 아무 내용이나 액세스하려고 시도하면 하지만 오류가 발생합니다. 페이지 경로가 다음과 같습니다. 'ASP.areas_accounts_views_contractscontrol_createdatacontract_aspx'. 왜 이런 일이 벌어 질 지에 대한 아이디어가 있습니까? 다시 컴파일 한 후에 발생합니다. 즉, 라이브 페이지가 실행되면 모든 페이지에 액세스하려고 할 때 모든 사람들이이 오류를 보게됩니다.예상 시간 초과 문제

건배 여기

는 스택 추적입니다 :

[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 

소스 오류 :

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 내 Web.config의 섹션이

<httpHandlers> 
    <remove verb="*" path="*.asmx"/> 
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, 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> 

는로 제출.

+0

web.config의 섹션을 게시 할 수 있습니까? – UpTheCreek

+0

원래 게시물을 수정했습니다. – Kezzer

+0

세션 문제가있는 것 같습니다. –

답변

0

나는 그것이 재 컴파일이라고 생각하지 않는다.

IIS의 응용 프로그램이 잠시 동안 유휴 상태이거나 응용 프로그램 풀의 재활용이있는 경우 메모리에 캐시 된 정보가 손실됩니다.

다음 호출은 JIT 재 컴파일을 트리거합니다.

메모리에서 캐시 된 데이터와 생성되었을 수있는 모든 singelton 개체도 손실됩니다.

내 생각 엔 루트 페이지가 호출 될 때 뭔가를 만들거나 초기화하고있는 것 같습니다. 다른 모든 페이지는이 초기화가 완료된 시점에 따라 달라집니다. 이것이 루트 페이지 이전에 호출 된 경우 다른 페이지가 실패하는 이유입니다.

+0

예, 실제로 디버그 모드에서 테스트했을 때 MvcSiteMap의 버그입니다. 거기에 시간 초과 플래그가있어 메뉴를 다시 렌더링하지만 현재 SiteMapNode를 가져 오면 타사 라이브러리 때문에 실패합니다. 내가 수정 한 내용을 게시 할 때 버그로 제출했습니다. – Kezzer