asp.net-mvc – 错误处理在asp.net mvc 3

有没有内置或适当的方式来处理错误asp.net mvc 3?

这是我想做的:

>如果应用程序崩溃或抛出错误,它会转到特定的错误页面。
>我可以从控制器操作中抛出我自己的错误。 (并转到错误页面)。

我发现了以下几种方式:

>我看到有很长的路要走
here.(对于v1和v2,但也
适用于v3)。
>使用errorhandle属性here

我如何处理这个正确的方法?

如果解决方案类似或像上面的列表中的#1,我使用ninject和我没有创建一个基类。我如何仍然这样做?

解决方法

用于全局错误处理
所有你需要做的是在web.config页面中更改customErrors模式=“开”
错误将通过Error.cshtml显示在共享文件夹中。
确保Error.cshtml布局不为null。
[它应该是这样:@ {Layout =“〜/ Views / Shared / _Layout.cshtml”; }}
或删除Layout = null代码块]

Error.cshtml的示例标记: –

@{ Layout = "~/Views/Shared/_Layout.cshtml"; } 

@model System.Web.Mvc.HandleErrorInfo

<!DOCTYPE html>
<html>
<head>
    <title>Error</title>
</head>
<body>
    <h2>
        Sorry,an error occurred while processing your request.
    </h2>
    <p>Controller Name: @Model.ControllerName</p>
    <p>Action Name : @Model.ActionName</p>
    <p>Message: @Model.Exception.Message</p>
</body>
</html>

用于特定错误处理
将HandleError属性添加到控制器类中的特定操作。为该特定错误提供“视图”和“ExceptionType”。
示例未实现异常处理程序:

public class MyController: Controller
    {
        [HandleError(View = "NotImplErrorView",ExceptionType=typeof(NotImplementedException))]
        public ActionResult Index()
        {
            throw new NotImplementedException("This method is not implemented.");
            return View();
        }
}

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...