尝试通过WebDAM(第三方内容管理系统)API下载大型视频文件时,Webrequest超时。以下是用于获取视频的基本代码。
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();
}
}
}
是否有更有效的方法来编写此代码,或者我只需要填充超时属性。
我得到了相当标准的跟随错误。
堆栈跟踪: [HttpException(0x80004005):请求超时。]
答案 0 :(得分:0)
尝试在Web.config文件中添加httpRuntime超时,如下所示......
start /D {working_directory} D:\Python27\python.exe {file_path}
...其中n是在ASP.NET自动关闭之前允许执行请求的秒数。