2011-01-10 72 views
0

我有一個webservice(.asmx)方法需要幾分鐘才能完成。在客戶端,我設置了超時時間爲infinte:如何增加在IIS7中運行的Web服務的超時時間?

services.Timeout = -1; 

我如何可以做同樣的服務器?

我曾嘗試加入以下到我的web.config

<system.web> 
<httpRuntime executionTimeout="1200"/> 

MSDN文檔說,這應該增加秒超時。超時時間比20分鐘更快。

有人可以幫忙嗎?

謝謝!

回答

2

Tha應用程序池默認每20分鐘回收一次。老實說,如果你有一個需要這麼長時間的請求,你應該調查其他方法。如果您正在構建一個需要永久存儲的文件或報告,請考慮在Windows服務的後臺構建它,並在用戶準備就緒後通過電子郵件發送給用戶。

一個更好的問題可能是:究竟是什麼花了那麼長時間,以及如何優化它?

如果您提供更多信息,我會更新我的答案。

+0

我不是要求優化代碼的幫助。我正在處理一大批文件。 – Nick 2011-01-26 15:59:27

0

你也應該改變:

<system.web> 
    <sessionState timeout="..." /> 
</system.web> 

而且還配置應用程序池超時,如David Lively說。這可以在IIS管理器中完成。

相關問題