我点击了以下链接:
和
显示错误页面以处理
maxRequestLength
中超过web.config
的上传文件但是我的问题是,它没有重定向到错误页面(该消息说该网页无法显示)。我不知道我在想什么。
这是我的代码@
Global.asax
:void Application_Error(object sender, EventArgs e)
{
if (IsMaxRequestLengthExceeded(Server.GetLastError()))
{
this.Server.ClearError();
this.Server.Transfer("~/Error.html");
}
}
private bool IsMaxRequestLengthExceeded(Exception ex)
{
Exception main;
HttpUnhandledException unhandledEx = (HttpUnhandledException)ex;
if (unhandledEx != null && unhandledEx.ErrorCode == -2147467259)
{
main = unhandledEx.InnerException;
}
else
{
main = unhandledEx;
}
HttpException httpException = (HttpException)main;
if (httpException != null && httpException.ErrorCode == -2147467259)
{
if (httpException.StackTrace.Contains("GetEntireRawContent"))
{
return true;
}
}
return false;
}
和@
web.config
:<httpRuntime executionTimeout="1200" />
<customErrors defaultRedirect="Error.html" mode="On">
</customErrors>
发现未初始化
maxRequestLength
时,默认情况下将其设置为4MB。 (我没有设置它,因为它对我并不重要。)希望你能帮我这个忙。谢谢
最佳答案
你可以加
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="13" />
<error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="http://localhost:1899/ErrorUpload.aspx" responseMode="Redirect" />
</httpErrors>
刚过
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="5000000" />
</requestFiltering>
</security>
您重定向到错误页面的位置...