我已经设置了一个方案,我的客户端网站(ASP.NET 2.0应用程序)上的任何异常都通过电子邮件发送给我。几乎每天晚上(通常在晚上发生)我都会遇到如下错误:
Error: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Stack Trace:
at carart.products.Page_Error(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.TemplateControl.OnError(EventArgs e)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.products_aspx.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
最后一个位置是Page_Error,因为我有一个Page_Error处理程序,它重定向到Error.aspx页面并向用户显示一条消息。它在重定向之前发出了详细说明错误的电子邮件。
我真的无法判断我的代码中的哪一点失败了,但我假设它甚至没有到达Page_Load,因为它没有出现在堆栈跟踪中。
我每晚至少得到3或4个 - 但有时也会在白天,有时会干扰客户结账和其他对客户业务至关重要的事情。
我该如何调试?我必须设置什么属性来告诉它等待更长时间才能连接到服务器?
答案 0 :(得分:0)
嗯,您可能想进一步调查发生超时的原因,但为了增加超时(您可能最好将此设置为特定于页面),您可以在web.config中执行此操作:
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>