Альтернатива ConfigureAwait

У меня есть код C#, который я на самом деле портирую на VB.Net. Теперь я заметил, что ConfigureAwait(false) используется везде. Требуется, чтобы код зависел от.Net 4.0

Как вы, возможно, знаете... ConfigureAwait(false) появляется в.Net 4.5. Как бы я преобразовал следующий код для соответствия.Net 4.0?

Есть ли общее решение, так как ConfigureAwait происходит везде в коде

 public async Task<ListResponse> GetResponseAsync(ListRequest request = null)
        {
            request =  request ?? new ListRequest
            {
                Limit = _limit
            };

            using (var client = CreateMailClient("lists"))
            {
                var response = await client.GetAsync(request.ToQueryString()).ConfigureAwait(false);
                await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);

                var listResponse = await response.Content.ReadAsAsync<ListResponse>().ConfigureAwait(false);
                return listResponse;
            }
        }

ОТВЕТ: Ссылка Microsoft.BCL.Async

1 ответ

Это то, что вы ищете, чтобы быть точным.

Если вы используете ConfigureAwait(), вы, вероятно, действительно заботитесь об этом и хотите, чтобы он действительно работал. К сожалению, поскольку асинхронные методы могут фактически выполняться синхронно, вызов ConfigureAwait () может не повлиять ни на что. Это означает, что вы должны включить его и в следующий асинхронный вызов, и так далее, пока он не появится для каждого метода в вашей библиотеке.

Справочник разработчиков Microsoft

Альтернативы для настройки await

Образец кода

Другие вопросы по тегам