HttpWebRequest Запрос был прерван: время операции истекло - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь загрузить длинное видео в jwplatform с помощью HttpWebRequest . Я установил время ожидания, как показано ниже. при загрузке данных выдается ошибка.

Запрос был прерван: время операции истекло

Событие, хотя время ожидания сервера достаточно велико для ответа, но я все еще возвращаю ту же ошибку.

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(callUrl);
            request.ContentType = "multipart/form-data; boundary=" +
                                    boundary;
            request.Method = "POST";
            request.KeepAlive = true;
            request.Timeout= 24*60*60*1000;
...
            using (var response = request.GetResponse())
            {
                Stream stream2 = response.GetResponseStream();
                StreamReader reader2 = new StreamReader(stream2);
                res = reader2.ReadToEnd();
            }

Я использую метод GetResponse (), как указано выше.

Буду весьма признателен за любую помощь в том, как заставить веб-запрос подождать до полной загрузки данных. Заранее спасибо.

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать request.GetResponseAsync (). и, таким образом, использовать асинхронную задачу для правильного ожидания ответа.

Чтобы помочь вам, это будет примерно так:

public  async Task<string> InfoAnswerAsync(WebRequest request)
 { 
using (var response = await request.GetResponseAsync())
{
    using (var stream = response.GetResponseStream())
        if (stream != null)
            using (var reader = new StreamReader(stream))
            {
                return await reader.ReadToEndAsync();
            }
}
...