1

我继承了一些我认为应该不起作用的代码:

有一个带有文件上传控件的表单,文件限制设置为默认的asp.net 4MB。

如果不使用 flash/active x 控件,没有真正可靠的方法可以在客户端测试文件大小。

所以我在我的 Global.asax 文件中发现了错误,并将 server.transfer 到一个新位置。

我遇到的问题是服务器只是挂起传输,页面坐在那里“加载”并且进程仍然停留在 Server.Transfer 代码行上。

我什至尝试过传输任何错误,但是在上传文件时它就在那里。

Server.Transfer("~/Error.aspx");

这里的任何帮助将不胜感激,这是一个非常大的绊脚石,我需要能够处理用户上传的文件大于配置中设置的文件。没有来自框架的严重错误。

编辑——看起来转移正在工作,当我进入我被转移到的页面的 page_load 事件时,我可以按照这个一直到 page_prerender 然后我没有得到任何呈现的页面,浏览器只是坐在那里看起来像加载

编辑我引起的错误的添加堆栈跟踪:

Exception = System.Web.HttpUnhandledException
Inner Exception = System.Web.HttpException
Server.GetLastError.InnerException.Message
Maximum request length exceeded.

Server.GetLastError.InnerException.StackTrace
   at System.Web.HttpRequest.GetEntireRawContent()
   at System.Web.HttpRequest.GetMultipartContent()
   at System.Web.HttpRequest.FillInFormCollection()
   at System.Web.HttpRequest.get_Form()
   at System.Web.HttpRequest.get_HasForm()
   at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
   at System.Web.UI.Page.DeterminePostBackMode()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

另外,我要上传的文件是 12MB。(以防有什么不同)

4

1 回答 1

1

你会使用 response.redirect 而不是 server.transfer....

于 2011-06-16T14:31:28.773 回答