Domanda

Quando è assolutamente necessario che un controller sia asincrono?Tutti i controller dovrebbero essere asincroni o è una cattiva pratica renderli tutti asincroni a meno che non sia necessario. Sto solo cercando alcune linee guida generali.

È stato utile?

Soluzione

Non è mai assolutamente necessario che un controller sia asincrono.Le chiamate ai metodi del controller verranno eventualmente restituite.Tuttavia, potrebbe essere opportuno trasferire un'attività di lunga durata a un thread, in modo che il server Web non venga bloccato per un lungo periodo di tempo.

Non mi preoccuperei di rendere ogni controller asincrono.C'è un po' di sovraccarico coinvolto nella creazione di nuovi thread;rendere ogni controller asincrono potrebbe effettivamente rallentare le cose.

Usa metodi di azione asincroni per richieste di lunga durata, non associate alla CPU.Ciò evita di impedire al server Web di eseguire il lavoro durante l'elaborazione della richiesta.Un uso tipico della classe AsyncController sono le chiamate al servizio Web con esecuzione prolungata.

http://msdn.microsoft.com/en-us/library/ee728598(v=vs.100).aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top