[.NET MVC] ASP.NET MVCグローバルエラープロセッサの設定

890 ワード

(1)FilterAttributeIExceptionFilterを継承する属性クラスを作成する
public class ExceptionFilter : FilterAttribute, IExceptionFilter
{
    public void OnException(ExceptionContext exceptionContext)
    {
        Exception ex = exceptionContext.Exception;

        string errorMessage = string.Format(
            "Error Message: {0}
Error StackTrace: {1}", ex.Message, ex.StackTrace ); exceptionContext.HttpContext.Response.Write(errorMessage); AppLog.Write(errorMessage); exceptionContext.ExceptionHandled = true; // } }

(2)サイトに対して異常を扱うControllerが必要であり,この属性を加える.一般的なWebサイトでは、Controllerクラスを直接継承するのではなく、ユーザー定義のControllerサブクラスをすべて継承します.したがって,この属性はこのControllerサブクラスに追加するだけでよい.
[ExceptionFilter]
public class MainController : Controller
{
    //...
}