1

Google은 수많은 레이어가 포함 된 대형 웹 앱을 제작하고 있습니다. 비즈니스 계층과 통신하기 위해 데이터가 필요할 때 웹 계층에서 호출하는 서비스 계층을 사용하고 있습니다. 불행히도 비즈니스 계층에 예외가 발생하면 웹 측의 서비스가 예외를 래핑하고 다시 던지는 것으로 보입니다. 우리는 오류를 캡슐화하고 로그에 기록하는 명확한 방법을 찾고 있습니다. WCF가 원본 주위에 새로운 예외를 래핑하지 않아도됩니다.비즈니스 계층 오류 및 서비스 계층 처리 - 가장 좋은 방법은 무엇입니까?

감사합니다.

답변

0

FWIW, 우리의 노출 WCF 서비스 계층 각각의 방법은 System.Exception을 잡는다 (이 또한 내가 추측 기본 서비스 클래스의 방법이 될 수있다)를 HandleException 도우미로를 통과

HandleException :

  1. 오류
  2. 에게 로그 (현재 우리가 WCF Exception Shielding를 사용하는) SOAP 오류로 포맷을 제외하고
  3. 적용 대상을 적용 예외 별 (형식 if (ex is SomeTypeOfException)의 취급 .. .)
0

다양한 방법이 있습니다. 당신이 제시 한 솔루션은별로 좋지는 않지만 (비즈니스 관련 오류 처리와 웹 관련 코드를 결합하면 어떤 종류의 연결이 생성됩니다) 믿을 수는 없습니다. 이 모든 것은 아키텍처에 달려 있습니다. 비즈니스 오류를 웹 오류로 변환하는 표면적 인 경량의 레이어를 추가 할 수 있습니다.이 레이어는 웹 레이어 오류 처리 코드에서 처리됩니다. 또한 AoP로 호출을 차단하고 위의 계층에 대한 오류를 해석 할 수 있습니다.