执行子请求时出错

时间:2012-11-12 12:46:11

标签: asp.net-mvc-3 exception global-asax

在我的MVC3应用程序中,当我尝试处理超出最大请求数的错误时,我收到了上述错误。

我正在应用程序级别处理异常。我正在尝试重定向到位于视图的“共享”文件夹中的错误页面。

如果请求大小超出限制,我正在使用以下代码重定向到错误页面。

 this.Server.ClearError();
 this.Server.Transfer("~/Views/Shared/NotAuthorised.cshtml");

这是我得到的错误。

  

执行/SiteName/Views/Shared/NotAuthorised.cshtml的子请求时出错

1 个答案:

答案 0 :(得分:4)

根据Microsoft文档(Error Executing Child Request" Error Message When You Use Server.Transfer or Server.Execute in ASP.NET Page),在应用程序级别错误后,您无法使用Server.Transfer

  

Microsoft Internet信息服务(IIS)发送   Server.Transfer或Server.Execute请求到相应的   Internet服务器应用程序编程接口(ISAPI)扩展   基于请求文件的扩展名。例如,一个请求   将.aspx页面分派给Aspnet_isapi.dll ISAPI   扩展

     

将请求分派到适当的ISAPI扩展后,   ISAPI扩展无法调用另一个ISAPI扩展。你收到了   由于“症状”部分中列出的错误消息   处理对ASP.NET页面的请求的Aspnet_isapi.dll文件不能   将请求转发到Asp.dll文件,该文件处理对ASP的请求   页。

但是,你可以像这样使用Response.Redirect(path)

Response.Redirect("Home/About");