ho bisogno di chiamare un metodo che restituisce un Task
dall'internoPrevenire un deadlock quando si chiama un metodo asincrono senza utilizzare await
public override void OnActionExecuting(ActionExecutingContext filterContext)
E non lo lascerà rendere questo metodo asincrono getta il seguente
Un modulo o gestore asincrono è stato completato mentre un'operazione asincrona era ancora in sospeso.
e quando si chiama
entityStorage.GetCurrentUser().Result
ottengo una situazione di stallo. Come posso evitare questo?
Ho giocato intorno con esso fino a venire con roba come
entityStorage.GetCurrentUser().Result.ConfigureAwait(false).GetAwaiter().GetResult();
Ma questo non sta funzionando. Come posso farlo? La mia soluzione dovrà funzionare con ASP.NET 4 e il pacchetto di targeting asincrono, non posso utilizzare ASP.NET 4.5 mentre sto eseguendo la distribuzione in Azure.
Trovato una risposta qui http://stackoverflow.com/a/5097066/168012 se qualcuno ha una soluzione migliore per favore condividere – Tom
Stai derivando da 'AsyncController' invece di' Controller'? –
Si prega di [votare qui] (https://aspnet.codeplex.com/workitem/9582) per consentire al team MVC di aggiungere il supporto per i filtri di azione 'async'. –