簡體   English   中英

如何增加Web服務請求的超時?

[英]How to increase the timeout to a web service request?

我有一個我無法修改的ASP.NET Web應用程序(我只有二進制文件)。 此應用程序連接到Web服務,似乎連接從客戶端(我的Web應用程序)關閉。 我已經增加了目標服務器的machine.config中的“executionTimeout”,但是等待一段時間后我的網絡應用程序似乎仍然停止。

有沒有辦法通過簡單地修改web.config來增加我的Web應用程序的超時時間? 正如我所說...我不能修改代碼中的超時,所以我唯一的選擇是通過配置文件。

謝謝!

試試這是否適合你。

首先,您需要增加httpRuntime元素的executionTimeout屬性的超時。 請注意,這在Seconds中提到,與其他超時屬性(如會話超時等)不同。

<httpRuntime 
    executionTimeout="36000"

而且,只有將Compilation元素的debug屬性設置為false時,此屬性才會生效。 這也在您提到的MSDN鏈接中指定。 喜歡,

<compilation 
   debug="false" 
../>

但這與會話超時一起使用。 是的,如果會話超時,則會拋出錯誤。 並且它不會等待executionTimeout值生效。 所以你還需要將Session Timeout設置為更高的值。 請注意,這只需幾分鍾。 看起來像,

<sessionState 
    mode="InProc" 
    timeout="360"
    ...
    />

請注意,所有這些都將被AppPool回收過程覆蓋。 因此,您需要將您的網站使用的Apppool的空閑超時值設置為至少與會話超時相同/更高的值。

我在這里找到了http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx

Web應用程序的默認超時為90秒,這通常足以用於通用目的。 重要的是要注意超時的來源。 是來自頁面本身還是頁面中引起它的東西。 在任何一種情況下,似乎“頁面”超時。

我偶然發現了這個問題。 發現異常來自SQL(讀取實際錯誤)所以它確實是SQL問題。 一旦我知道了,我就可以輕松解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM