Я знаю, что ConfigureAwait(false) сообщает выражению await не пытаться захватить текущий контекст синхронизации.
Но есть ли конкретные примеры, когда его пропуск определенно вызовет проблемы?
Возьмем, к примеру:
Код: Выделить всё
public class MyLibraryService
{
public async Task GetDataAsync()
{
using (var client = new HttpClient())
{
// Should I add ConfigureAwait(false) here?
var response = await client.GetStringAsync("https://example.com");
return response.ToUpper();
}
}
}
Я просмотрел документацию MSDN и различные сообщения в блогах. Некоторые говорят «всегда используйте его в библиотеках», другие говорят «только при необходимости». Вот в этом и заключается путаница.
Подробнее здесь: https://stackoverflow.com/questions/798 ... sync-await
Мобильная версия