2011-01-27 56 views
2

我有一個ASP.NET頁面,在代碼旁邊有幾個用[WebMethod]裝飾的靜態方法,而這些靜態方法在JavaScript中使用PageMethods.MyMethodName(myParameter, myOnCompleteHandler, myOnErrorHander);來調用。如何增加ASP.NET Ajax PageMethod的超時時間?

其中一種方法被稱爲多次,並且運行時間可能由於調用量而變長。目前,該方法運行正常,但完成超過5分鐘的呼叫超時。我想將該跨度增加到10分鐘。

我曾嘗試:

  • ScriptManager.AsyncPostBackTimeout = 600;
  • Server.ScriptTimeout = 600;
  • this.Page.AsyncTimeout = new TimeSpan(0,10,0);在JavaScript
  • Sys.Net.WebRequestManager.set_defaultTimeout(600000);

回答

2

以下行添加到你的web.config在system.web節。

<httpRuntime executionTimeout="3600" maxRequestLength="2147483647" /> 

遲到的反應,但也許這會幫助下一個人。

+0

executionTimeout控制服務器上的http運行時的執行超時,在此之前它會拋出http運行超時異常。 – 2016-12-27 06:21:49

0

正確的答案是here,因爲AJAX超時由腳本管理器控制而不是http執行超時。

您需要掌握scriptmanager控件(代碼或標記),並根據需要將AsyncPostBackTimeout屬性設置爲合適的值。

AsyncPostBackTimeout="300"