2013-04-29 86 views
3

在我的應用程序中,我進行了一次可能需要長達2分鐘的服務調用才能返回值。 (進程跨多個數據庫)。爲asp.net應用程序增加應用程序超時

調用此方法後,應用程序超時。

我在web配置中設置了以下內容。在IIS

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <sessionState timeout="40"></sessionState> 
    <httpRuntime maxRequestLength="2147483647" executionTimeout="3600"/> 

</system.web> 

我已在web.config中的服務相同的執行超時以及託管時,我仍收到錯誤 請幫我增加了超時的應用程序。

+0

在web.config中是否有服務的綁定部分?如果是的話,張貼。 – webnoob 2013-04-29 07:56:41

+0

如果返回需要2分鐘,那麼你的設計不好。解決這個問題,使工作的背景,保持緩存,和其他... – Aristos 2013-04-29 08:08:39

+0

@Aristos - 不知道他的程序或它在做什麼,你怎麼可能可以做出這樣的假設是不好的設計?有些通話需要很長時間才能完成,具體取決於服務另一端的操作。這是超時屬性的全部時間點... – webnoob 2013-04-29 08:10:59

回答

1
<compilation debug="false" targetFramework="4.0" /> 

設置debug =「false」應該解決問題。

MSDN

執行超時:可選的Int32屬性。 指定在ASP.NET自動關閉請求之前允許執行的最大秒數。 只有編譯元素中的debug屬性爲False時,此超時才適用。因此,如果調試屬性爲 True,則您無需將此屬性設置爲大值,以便在調試過程中避免應用程序關閉,順序爲 。 默認值爲110秒。 注意: 在.NET Framework 1.0和1.1中,默認值爲90秒。

+0

試圖將調試設置爲false .still沒有用處appliaciton在90秒內超時 – smv 2013-04-29 07:38:51

+0

設置debug = true時,executionTimeout被忽略 – user797717 2013-04-29 07:42:12

4

您是否嘗試過在httpRuntime部分設置shutdownTimeout值? 空閒應用程序的默認關閉時間爲90秒。

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

MSDN參考: HttpRuntimeSection.ShutdownTimeout Property

0
<asp:ScriptManager ID="Scriptmanager1" runat="server" AsyncPostBackTimeout="1200" /> 

回調來更新客戶端瀏覽器已在腳本管理器的默認超時(90秒)。所以如果你的代碼運行完整的頁面但瀏覽器沒有更新,那麼這個標籤可能會有所幫助。

+0

您應該添加一些文本來解釋此答案的作用以及爲什麼它提供了針對特定問題的解決方案。代碼轉儲很少用於其他人。 – Paritosh 2016-02-12 03:46:39