Согласно статье в MSDN Magazine, наилучшей практикой является "Использовать ConfigureAwait(false)
когда сможете". Кроме того, в нем говорится: "Если вы можете использовать ConfigureAwait
в какой-то момент в методе, я рекомендую вам использовать его для каждого ожидания в этом методе после этой точки". Стивен Клири, автор этой статьи, заявляет в своем блоге, что "в ваших асинхронных методах библиотеки используйте ConfigureAwait (false), где это возможно [выделение добавлено]".
Учитывая, что большинство или всех моих await
в проекте библиотеки, которое должно широко использоваться, должно иметь .ConfigureAwait(false)
возможно ли что-то сделать/изменить параметр, чтобы сделать его таким, чтобы поведение пользователя по умолчанию в моем проекте /dll не продолжать в захваченном контексте? То есть, чтобы я мог опустить все вызовы .ConfigureAwait(false)
и вместо этого добавлять .ConfigureAwait(
true
)
только тогда, когда мне нужен контекст, который нужно сохранить.