2012-04-27 45 views
8

我已經實現了一個ASP.NET http處理程序。在我看來,沒有辦法設置超時,例如如果處理程序已運行超過X秒,則不會提供結果。ASP.NET HttpHandler是否超時

我在這裏糾正還是有辦法實現ashx處理程序的超時?

回答

15

ASP.Net有一個內置的超時時間,它會導致它終止一個超出配置的限制的連接。

The default is 110 seconds.

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

然而,在調試模式下編譯時,這是禁用的。

<!-- Execution Timeout Will Not Be Enforced --> 
<compilation debug="true" /> 

如果您需要設置一個執行超時爲一個特別的處理,那麼你可以隨時創建一個特定的位置,爲處理程序,並設置超時那裏。

<location path="MyHandler.ashx"> 
    <system.web> 
    <!-- Set execution timeout to 10 minutes --> 
    <httpRuntime executionTimeout="600"/> 
    </system.web> 
</location>