Скажем, у меня есть два сценария:
1) Контроллер WebApi
[System.Web.Http.HttpPost]
[System.Web.Http.AllowAnonymous]
[Route("api/registerMobile")]
public async Task<HttpResponseMessage> RegisterMobile(RegisterModel model)
{
var registerResponse = await AuthUtilities.RegisterUserAsync(model, _userService, User);
if (registerResponse.Success) {
var response = await _userService.GetAuthViewModelAsync(model.Username, User);
return Request.CreateResponse(HttpStatusCode.OK, new ApiResponseDto() { Success = true, Data = response });
}
else {
return Request.CreateResponse(HttpStatusCode.OK, registerResponse);
}
}
2) MVC-контроллер
[Route("public")]
public async Task<ActionResult> Public()
{
if (User.Identity.IsAuthenticated)
{
var model = await _userService.GetAuthViewModelAsync(User.Identity.Name);
return View("~/Views/Home/Index.cshtml", model);
}
else
{
var model = await _userService.GetAuthViewModelAsync(null);
return View("~/Views/Home/Index.cshtml", model);
}
}
Я читал, когда я должен использовать ConfigureAwait
, и мне кажется, что я должен использовать ConfigureAwait(false)
для ВСЕХ моих асинхронных вызовов, которые не привязаны непосредственно к пользовательскому интерфейсу. Я не знаю, что это значит, хотя... я должен использовать .ConfigureAwait(false)
для всех вышеперечисленных вызовов await
?
Я ищу некоторые недвусмысленные рекомендации, когда именно я должен его использовать.
Этот вопрос НЕ совпадает с Лучшей практикой для вызова ConfigureAwait для всего кода на стороне сервера - Я ищу простой ответ в прецеденте для этот метод в контексте WebApi и MVC, а не как общий С#.