Task.Run è considerato una ctriggers pratica in un’applicazione Web MVC ASP .NET?

sfondo

Attualmente stiamo sviluppando un’applicazione web, che si basa su ASP .NET MVC 5, Angular.JS 1.4, Web API 2 e Entity Framework 6. Per motivi di scalabilità, la pesantezza delle applicazioni Web si basa sul modello async / await. Il nostro dominio richiede alcuni calcoli intensivi della CPU, che possono richiedere alcuni secondi ( Vedi il post del blog di Stephen Cleary ), hanno usato ConfigureAwait (false).

Esempio

public async Task CalculateAsync(double param1, double param2) { // CalculateSync is synchronous and cpu-intensive ( this.CalculateSync(param1, param2))).ConfigureAwait(false); } 

Domande

  • Esiste un vantaggio in termini di prestazioni nell’utilizzo di Task.Run in un controller API Web asincrono per le operazioni associate a cpu?
  • ConfigureAwait (false) evita davvero la creazione di un thread aggiuntivo?