【问题标题】:HttpWebRequest The request was aborted: The operation has timed outHttpWebRequest 请求被中止:操作已超时
【发布时间】:2019-02-14 00:38:38
【问题描述】:

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

请求被中止:操作已超时

事件虽然服务器超时足以衡量响应,但我仍然返回相同的错误。

 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 等到数据完全上传的帮助将不胜感激。 提前致谢。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 2012-09-21
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2020-03-28
      相关资源
      最近更新 更多