C# 如何在ASP.net Web应用程序中处理PageRequestManagerTimeoutException?
我正在开发一个ASP.NET web应用程序,它试图通过登录服务器从远程服务器下载一些文件。当我尝试下载一个文件时,它可以很好地处理小文件,但当下载一个750 KB的文件时,它会显示以下异常 我正在定义C# 如何在ASP.net Web应用程序中处理PageRequestManagerTimeoutException?,c#,javascript,asp.net,C#,Javascript,Asp.net,我正在开发一个ASP.NET web应用程序,它试图通过登录服务器从远程服务器下载一些文件。当我尝试下载一个文件时,它可以很好地处理小文件,但当下载一个750 KB的文件时,它会显示以下异常 我正在定义HTTPRequest Timout=System.Threading.Timeout.Infinite 我正在使用此代码从服务器读取文件 byte[] buffer = new byte[32768]; using (Stream input = getResponse
HTTPRequest Timout=System.Threading.Timeout.Infinite代码>
我正在使用此代码从服务器读取文件
byte[] buffer = new byte[32768];
using (Stream input = getResponse.GetResponseStream())
{
using (FileStream output = new FileStream(saveTo1, FileMode.OpenOrCreate))
{
int bytesRead;
while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
}
什么可能导致这个问题
另外,当我点击忽略
或继续
时,它会继续下载
再顺利一点。我怎样才能克服这个问题
提前感谢。:) 如果需要处理超时异常,可以使用javascript处理。将此添加到您的页面
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(requestEndHandler );
// This function will handle the end request event
function requestEndHandler(sender, args) {
if( args.get_error() ){
document.getElementById("errorMessageLabel").innerText =
args.get_error().description;
args.set_errorHandled(true);
}
}
</script>
...
<span id="errorMessageLabel"></span>
我处理超时的方法是将其值设置为-1,这是无限的。如果不是非常重要,请不要使用无限值。有一个有限的值是一个安全的赌注。这个时间值以毫秒为单位。没有秒,这个函数有用吗?哇,真管用。不是函数,而是JU设置AsyncPostBackTimeOut=“60”
。谢谢:)
<asp:ScriptManager ID="ScriptManager1" runat="server"
AsyncPostBackTimeOut="600" >
</asp:ScriptManager>