超时过期错误 - 不是SQL服务器超时

时间:2012-05-25 21:05:14

标签: asp.net exception-handling timeout

我已经设置了一个方案,我的客户端网站(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个 - 但有时也会在白天,有时会干扰客户结账和其他对客户业务至关重要的事情。

我该如何调试?我必须设置什么属性来告诉它等待更长时间才能连接到服务器?

1 个答案:

答案 0 :(得分:0)

嗯,您可能想进一步调查发生超时的原因,但为了增加超时(您可能最好将此设置为特定于页面),您可以在web.config中执行此操作:

<location path="somefile.aspx">
    <system.web>
            <httpRuntime executionTimeout="180"/>
    </system.web>
</location>