2012-04-27 1 views
8

Ho implementato un gestore HTTP ASP.NET. Mi sembra che non ci sia modo di impostare un timeout, ad es. se il gestore è in esecuzione da più di X secondi non serve il risultato.Does un timeout HttpHandler di ASP.NET

Sono corretto qui o c'è un modo per ottenere un timeout per un gestore di ashx?

risposta

15

ASP.Net ha un timeout incorporato che provoca la chiusura di una connessione che supera i limiti configurati.

The default is 110 seconds.

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

Tuttavia, questo è disabilitata quando compilato in modalità debug.

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

Se è necessario impostare un timeout di esecuzione per un gestore specifico, allora si può sempre creare un percorso specifico per tale gestore, e impostare il timeout lì.

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