加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC HandleError不工作(customErrors设

发布时间:2020-12-15 23:47:56 所属栏目:asp.Net 来源:网络整理
导读:我相信我已经设置了我们的MVC应用程序来正确使用[HandleError].这是我的控制器 [HandleError]public class SupportController : BaseController { public ActionResult Toss() { throw new Exception("uh oh"); } // snip} 而且我已经将web.config中的custom
我相信我已经设置了我们的MVC应用程序来正确使用[HandleError].这是我的控制器
[HandleError]
public class SupportController : BaseController {

    public ActionResult Toss() {
        throw new Exception("uh oh");
    }
    // snip
}

而且我已经将web.config中的customErrors标签设置为“On”:

<customErrors mode="On"></customErrors>

但是,我仍然得到例外的黄色死亡屏幕.在我的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>

有一件事可能不一样的是,当MVC Beta是最新版本时,该应用程序被创建,并在升级到RC,然后升级为RTM,因为它们被发布.可能有一些从那里遗留下来的恶作剧?

我可以让这个工作在其他应用程序,所以我有点flummoxed.

解决方法

如果处理错误页面时出现问题,则会发生这种情况..如果您调试应用程序,则在初始异常之后,您会遇到另一个问题(异常从错误页面)..我发生了这种情况,以及我的原因是因为我有一个强类型的主页面,错误页面正在使用这个主页面,并且由于主页面与实际页面共享相同的模型,主页面正在获取HandlerErrorInfo模型,而不是我预期的类型模型.

就个人而言,我认为这是一个糟糕的设计在asp.net mvc(和其余的),但你可以通过不使用相同的母版页面来解决这个问题(甚至你可以继承的主页继承)纯类型的主页纯粹从无类型的继承层

否则这是在错误视图中发生的某种异常(很可能).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读