swi*_*ams 14 asp.net-mvc handleerror
我相信我已经设置了我们的MVC应用程序以便[HandleError]
正确使用.这是我的控制器:
[HandleError]
public class SupportController : BaseController {
public ActionResult Toss() {
throw new Exception("uh oh");
}
// snip
}
Run Code Online (Sandbox Code Playgroud)
我已将我的customErrors
标记设置web.config
为"开启":
<customErrors mode="On"></customErrors>
Run Code Online (Sandbox Code Playgroud)
但是,我仍然在例外情况下获得黄色死亡屏幕.设置在我的断点Toss()
动作表明,HttpContext.IsCustomErrorEnabled
被设置为true.
我们没有对View Engine做任何事情,BaseController
也没有任何混乱(和其他没有扩展它的控制器有相同的问题).
我在Windows XP上开发,并且当应用程序部署到服务器2003框(IIS 6)时会出现同样的问题.
我认为error.aspx
页面上没有异常:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="errorContent" ContentPlaceHolderID="MainContent" runat="server">
<h2>
Sorry, an error occurred while processing your request.
</h2>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
可能有一点不同的是,这个应用程序是在MVC Beta是最新版本时创建的,并且在它们发布时升级到RC然后升级到RTM.可能有一些怪异的设置从那里遗留下来?
我可以在其他应用程序上工作,所以我有点沮丧.
mea*_*ode 19
如果在处理错误页面时出现问题,则会发生这种情况..如果您调试应用程序,在初始异常之后,您将遇到另一个问题(错误页面中的异常)..我发生了这种情况并且是我的原因是因为我有一个强类型的母版页,错误页面使用这个母版页,并且因为母版页与实际页面共享相同的模型,所以母版页获得了HandlerErrorInfo模型,而不是我期望的类型模型.
我个人认为这是asp.net mvc中的一个糟糕的设计(以及其余部分),但是你可以通过不使用相同的母版页来轻松解决这个问题(你甚至可以在你继承的地方继续使用母版页继承)强类型母版页,纯粹从无类型的图层继承图层.
否则,这是在错误视图中发生的某种异常..(最有可能).
归档时间: |
|
查看次数: |
13665 次 |
最近记录: |