HttpWebRequest请求被中止:操作已超时

时间:2018-09-09 09:36:15

标签: c# asp.net-mvc httpwebrequest jwplayer jwplayer7

我正尝试在 HttpWebRequest 的帮助下将长视频上传到jwplatform。我将Timeout设置如下。当我上传数据时会抛出错误。

  

请求已中止:操作已超时

事件虽然服务器超时已经足够权衡响应,但是我仍然返回相同的错误。

 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()方法。

任何有关如何强制webrequest等待数据完全上传的帮助将受到高度赞赏。 提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用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();
            }
}