0

クライアントのWebサイト(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)

Error.aspxページにリダイレクトしてユーザーにメッセージを表示するPage_Errorハンドラーがあるため、最後の場所はPage_Errorです。エラーの詳細を記載した電子メールを送信するのは、リダイレクトを実行する前です。

コードのどの時点でこれが失敗しているのかは本当にわかりませんが、スタックトレースに表示されないため、Page_Loadに到達しないと想定しています。

私は毎晩少なくとも3つか4つを受け取りますが、日中もそうです。また、顧客のチェックアウトやクライアントのビジネスに不可欠なその他のことを妨げることもあります。

どうすればこれをデバッグできますか?サーバーに接続するのを長く待つように指示するには、どのプロパティを設定する必要がありますか?

4

1 に答える 1

0

うーん、タイムアウトが発生している理由をさらに調査したい場合がありますが、タイムアウトを増やすには (ページ固有として設定することをお勧めします)、web.config でこれを行うことができます。

<location path="somefile.aspx">
    <system.web>
            <httpRuntime executionTimeout="180"/>
    </system.web>
</location>
于 2012-05-25T21:15:05.890 に答える