我在 web.config 中放置了以下行,以禁止上传大于 2 MB 的文件:
<httpRuntime maxRequestLength="2048" />
当我点击页面(具有 FileUpload 控件)并上传大于 2 MB 的文件时,页面将在 ProcessRequest 期间抛出异常(下面的 Callstack)。我尝试重载 ProcessRequest,并且可以在 catch 块中处理异常。问题是,当然,在 ProcessRequest 期间,我的页面中的控件还没有被实例化。
我的问题是:有没有办法以某种方式处理异常,我可以将消息返回到页面以供用户查看,或者以某种方式允许请求通过(以某种方式删除文件)以便它到达 Page_Load 和正常处理吗?
调用栈:
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at MyWebsite2.DocDashboard.ProcessRequest(HttpContext req) in MyFile.aspx.cs:line 28