4

aspx 페이지의 [WebMethod] 특성 정적 메서드의 기본 동작은 호출자에게 오류를 반환하는 것입니다. 우리는 json을 사용하여 이러한 메서드에 액세스하고 있으며 예외를 캡처하는 유일한 방법은 사이트의 모든 웹 메서드에서 try/catch 또는 오류가있는 javascript 콜백을 사용하는 것입니다 (오류가 발생하면 허용되지 않는 단점이 있습니다. 고객).ASP.NET의 정적 aspx [WebMethods]에서 예외 처리 전역 적으로

ASP.NET의 HealthMonitoring 설정을 사용하여 이러한 예외를 전역 적으로 처리 할 수있는 방법이 있습니까?

답변

0

상태 모니터링에 대해서는 잘 모르지만 일반적으로 내부에 엔드 포인트 코드를 실행하는 일반 래퍼가 있습니다. 이것은 실제 예외를 기록하지만 항상 경계를 넘어 일반적인 예외를 throw합니다.

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; 
     } 
    }