【发布时间】:2011-06-16 13:53:35
【问题描述】:
我继承了一些无法正常工作的代码:
有一个表单,上面有一个文件上传控件,文件限制设置为默认的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。 (以防万一)
【问题讨论】:
标签: asp.net file-upload global-asax server.transfer