c# - HttpWebRequest 请求被中止:操作已超时
问题描述
我正在尝试借助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 等到数据完全上传的帮助将不胜感激。提前致谢。
解决方案
您可以使用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();
}
}
推荐阅读
- node.js - 使用 nodejs 发送邮件
- wso2 - 收到致命警报:certificate_unknown
- r - 如何根据时间戳获取每个 ID 的最新行
- php - 如何在登录表单中不区分用户名大小写?
- timestamp - from_unixtime 与 from_timestamp 有什么区别
- node.js - 如何正确地将自定义错误从后端(Express)传递到前端(Vue)
- mips - MIPS 功能我对 mips 中的功能有一些疑问
- python - 如何在括号Python 2.7之间提取方程?
- javascript - 诊断未捕获的类型错误:__webpack_require__(...).createServer 不是函数?
- swift - 如何快速继承结构?