2010-03-29 27 views
5

Desidero scrivere un'azione asincrona in ASP.NET MVC 2 che attende fino a 5 secondi per un evento. Se l'evento si verifica, il server risponde con un risultato, altrimenti la richiesta scade.ASP.NET MVC 2 azione asincrona con timeout

Qual è il modo migliore per raggiungere questo obiettivo?

risposta

3

Utilizzare [AsyncTimeout] attribute. Se l'azione asincrona non è stata completata entro il tempo specificato, verrà generata una TimeoutException. È possibile utilizzare un filtro di eccezione (come [HandleError]) per controllare queste eccezioni e gestirle in modo appropriato.

+0

In alternativa, utilizzare la proprietà AsyncManager.Timeout all'interno del metodo di azione. È lo stesso effetto dell'attributo AsyncTimeout ma è utile quando vuoi un maggiore controllo, ad es. leggendo il timeout da config. –

1

Si può dare un'occhiata a asynchronous controllers.

+0

Scusa, la mia domanda ovviamente non era molto precisa. Sto già usando AsyncController. Ma voglio sapere cosa scrivo nel mio metodo di azione per raggiungere questo obiettivo. L'attesa di un evento con un timeout è l'aspetto cruscale. – thatismatt