2011-06-16 83 views
1

我继承了一些代码不工作,因为我认为它应该:的Server.Transfer从Global.asax中的Application_Error

有上有一个文件上传控件的形式,将文件限制设置为默认的asp.net 4MB。

有不使用闪光灯的/ Active X控件,以测试在客户端文件大小没有真正可靠的方法。

所以我在我的Global.asax文件中捕获错误并执行server.transfer到一个新的位置。

我遇到的问题是,服务器只是挂在转移,页面坐在那里“装载”,处理仍停留在代码的Server.Transfer的线。

我甚至尝试了转移上的任何错误,但它上传只是坐在那里的文件时。

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

这里任何帮助,将不胜感激,这是一个非常大的绊脚石,我需要能够处理用户上传比设定在configs更大的文件。没有来自框架的令人讨厌的错误。

编辑 - 它会出现转移正在工作,因为我进入页面的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。 (如果有差别)

回答

1

将您使用Response.Redirect,而不是Server.Transfer的....

+0

Response.Redirect的也不行,而不是去error.aspx它,尝试去default.aspx,然后说无法连接到网站,刷新页面,然后将加载内容 – jimplode 2011-06-16 14:38:06

+0

您可以给我们发送整个错误文本... – 2011-06-16 14:41:10

+0

添加到问题 – jimplode 2011-06-16 14:47:04

相关问题