Chamando ConfigureAwait de uma ação do ASP.NET MVC
Eu estava trabalhando em uma apresentação e pensei que o seguinte deveria falhar, pois o ActionResult não está sendo retornado no contexto correto. Eu testei carga com VS e não tenho erros. Eu depurei e sei que está trocando threads. Então parece que é um código legítimo.
O ASP.NET não se importa com qual contexto ou encadeamento ele está como um aplicativo cliente? Em caso afirmativo, que finalidade o AspNetSynchronizationContext fornece? Eu não me sinto bem em colocar um ConfigureAwait na ação em si. Algo parece errado sobre isso. Alguém pode explicar?
<code> public async Task<ActionResult> AsyncWithBackendTest() { var result = await BackendCall().ConfigureAwait(false); var server = HttpContext.Server; HttpContext.Cache["hello"] = "world"; return Content(result); } </code>