4

aspx ページの [WebMethod] 属性付き静的メソッドの既定の動作は、呼び出し元にエラーを返すことです。json を使用してこれらのメソッドにアクセスしていますが、例外をキャプチャするために見つけた唯一の方法は、サイト上のすべての Web メソッドで try/catch を実行するか、エラーで JavaScript コールバックを使用することです (これには、エラーをクライアント)。

ASP.NET の HealthMonitoring セットアップを使用して、これらの例外をグローバルに処理する方法はありますか?

4

1 に答える 1

0

ヘルスモニタリングについてはわかりませんが、通常、内部でエンドポイントコードを実行する汎用ラッパーがあります。これは実際の例外を記録しますが、常に境界を越えて一般的な例外をスローします。

public static T wrapAjaxRequestsToCatchException<T>(Func<T> wrappedDelegate) where T : JsonBase, new()
    {
        try
        {
            return wrappedDelegate();
        }
        catch (Exception ex)
        {
            var errResponse = new T()
            {
                Success = false,
                Message = getErrorMessage(ex)
            };
            // Log the exception
            ErrorLog.LogAjaxEvent(string.Format("AJAX EXCEPTION : {0}", ex.ToString()), System.Diagnostics.EventLogEntryType.Error);
            return errResponse;
        }
    }
于 2011-03-22T12:48:48.853 に答える