下载大型图像文件时出现webrequest超时
本文关键字:webrequest 超时 大型 图像 文件 下载 | 更新日期: 2023-09-27 18:27:42
尝试通过WebDAM(第三方内容管理系统)的API下载大型视频文件时,会导致网络请求超时。以下是用于获取视频的基本代码。
public void StreamAsset(String AssetID, HttpResponse Response)
{
WebRequest request = request = WebRequest.Create(_api_url_v2 + "assets/" + AssetID + "/download");
request.Timeout = 200000;
// add OAuth header
request.Headers.Add("Authorization", "Bearer " + _access_token);
// get response from WebDAM web service
WebResponse response = request.GetResponse();
using (Stream file = response.GetResponseStream())
{
Int32 bytesRead = 0;
Byte[] buffer = new Byte[524000];
while ((bytesRead = file.Read(buffer, 0, buffer.Length)) > 0)
{
if (Response.IsClientConnected)
Response.OutputStream.Write(buffer, 0, bytesRead);
else
break;
}
file.Close();
}
}
}
有没有更有效的方法来写这段代码,或者我只需要增加timeout属性。
我得到了相当标准的跟随错误。
堆栈跟踪:[HttpException(0x80004005):请求超时。]
尝试在Web.config文件中添加httpRuntime超时,如下所示。。。
<system.web>
<httpRuntime executionTimeout="n"/>
</system.web>
其中n是在ASP.NET自动关闭请求之前允许执行的秒数。