1

MVC 用に見つけたコードを通常の Asp.Net で動作するように変換しようとしています。要するに、例外が発生するたびにログ記録メソッドを呼び出すことなく、Elmah を使用して処理された例外をログに記録できるようにしたいと考えています。私はこれを探し回り、私が見つけたすべてのソリューションはMVCを使用しています。ここでシンプルでエレガントなものを見つけました.私のアプリケーションはクライアント側の呼び出しにMVCを使用していますが、それは本格的なMVCプロジェクトではないので、うまくいかないか、何かが足りないと思います.

だからここにコードがあります

public class ElmahHandledErrorLoggerFilter : IExceptionFilter
{
    public void OnException (ExceptionContext context)
    {
        // Log only handled exceptions, because all other will be caught by ELMAH anyway.
        if (context.ExceptionHandled)
            ErrorSignal.FromCurrentContext().Raise(context.Exception);
    }
}

public static void RegisterGlobalFilters (GlobalFilterCollection filters)
{
    filters.Add(new ElmahHandledErrorLoggerFilter());
    filters.Add(new HandleErrorAttribute());
}

投稿元: ELMAH を ASP.NET MVC [HandleError] 属性で動作させる方法は?

2 番目のコード ブロックを global.asax ファイルに配置するよう指示します。イベントが呼び出されることはないので、自分で呼び出す必要があるかどうか疑問に思っています。そうすると、何に渡されますか? 私はMVCに慣れていないので、通常のasp netに相当するものが何であるかを知りたいのですが、MVC dllへの参照があるので、誰かがアイデアを持っています。

4

1 に答える 1