Я просматривал некоторые ссылки с рекомендациями TPL
Исходя из этого, вот как япостроить мою асинхронную лестницу вызовов.
//UI call the below API
public async Task<IActionResult> Post([FromBody]Customer customer)
{
if (ModelState.IsValid)
{
//#1 .ConfigureAwait(continueOnCapturedContext: false);
var flag = await _appRepository.AddCustomer(customer).ConfigureAwait(false);
if (flag)
{
//OK
}
else
{
//Internal Server Error
}
return Ok();
}
else
{
return BadRequest();
}
}
//Service Layer or DAL method
public async Task<bool> AddCustomer(Customer customer)
{
//#2 .ConfigureAwait(continueOnCapturedContext: false);
_dbContext.SaveChangesAsync().ConfigureAwait(false);
}
Теперь мне не понятны две терминологии
- Без контекста
- Зависит от контекста
Согласно приведенной выше ссылке, я должен использовать ConfigureAwait(continueOnCapturedContext: false);
для контекстно-зависимых ресурсов
Как мне определить между этими двумя и, если указано, вставленный фрагмент кода, куда подходит .ConfigureAwait(continueOnCapturedContext: false);