Почему время ожидания reader.ReadToEndAsync() истекло? Код используется для работы, и теперь время ожидания истекло

#c#

#c#

Вопрос:

Я пытаюсь понять, почему webResponse = await reader.ReadToEndAsync(); время ожидания истекло.

 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
if (response.StatusCode == HttpStatusCode.BadRequest)
{
    webResponse = response.StatusDescription;
}
else
{
    using (Stream stream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        webResponse = await reader.ReadToEndAsync();
    }
}
 

Комментарии:

1. Вы должны использовать HttpClient . WebRequest это наследие, и на то есть веские причины.

2. @Andy я понимаю, почему вы бы сказали, что, однако, вы не учли контекст, что я могу застрять в использовании WebReques из-за устаревшего программного обеспечения или ограничений, которые находятся вне моего контроля.

Ответ №1:

Что мне нужно было сделать, так это вернуться к вызывающему методу и изменить его на async, а затем дождаться вызова, в котором есть этот код, и удалить .Result, который создавал тупик.