웹 응용 프로그램에 Presentaion 계층, 비즈니스 계층, 데이터 액세스 계층이 있습니다. 내 데이터 액세스 Layer.Means 함께 연결되어있는 웹 서비스에 의해 데이터를 받고 있는데 그것은 내가 사용하고있는 원격의 유형 중 하나입니다. 내 DAL 및 비즈니스 계층에서이 시나리오에서 처리해야하는 예외는 무엇입니까? 나를 안내하십시오.예외에 대한 안내를 참조하십시오.
답변
앱의 자연스러운 흐름을 따라 가면서 레이어 아키텍처가 좋지 않으므로 선택의 여지가 있습니다. 나는 비즈니스 계층에 이런 종류의 코드를 넣는 것을 좋아하지만, 내 인생을 구하기위한 강력한 사건을 만들 수는 없습니다.
데이터 액세스 레이어 또는 비즈니스 레이어에서 오류를 처리해서는 안됩니다. 다음 레이어로 던지기 만하면되므로 마지막에 Presentation Layer에서 오류/예외가 발생합니다. 모든 에러/예외가 프리젠 테이션 계층에서 처리해야한다, 그 뒤에 이유는 ..
당신은 미래에 프리젠 테이션 레이어를 변경할 수 있으며 실제 에러/예외를 알고 있다면 쉽게 그것을 처리 할 편안하게 될 수- 당신은 프리젠 테이션 계층에서 각 오류 유형을 처리하는 클래스를 가지고 사용자 아직
에 사용자 정의 메시지를 던질 수있는,이 내 의견과 더 열심히하고 빠른 규칙이 없다. 또한 비즈니스 계층에서 이러한 작업을 처리하는 "Niko"와 동의합니다.
다음 기사는 아키텍처에 대한 자세한 정보를 제공 할 수 있습니다 (여전히 오류 처리 중에 있지는 않습니다). - http://www.codeproject.com/KB/cs/CLR_SP_Linq_n-tier.aspx
필자는 Webservice를 프레젠테이션 계층의 또 다른 형태로보고 있습니다. 가능한 경우 웹 UI와 동일한 비즈니스 계층 구성 요소를 사용해야합니다.
아주 기본적인 REST 스타일 서비스에서도 요청한 데이터에 항상 기본 응답 래퍼를 포함하려고합니다. 이렇게하면 오류가 발생해도 오류 플래그가 설정된 응답을 반환 할 수 있으며 잘하면 설명적인 메시지의 어떤 형태.
나는 항상 보안 문제가 될 수 있으므로 하위 레이어 (예 : DAL)의 예외 데이터를 전달하지 않도록 노력하고 있습니다. 그러나 예외 데이터는 일반적으로 기록되어야합니다.
- 1. 예외에 대한 after_filter
- 2. 예외에 대한 메모리 할당
- 3. Axis2 배포 예외에 대한 도움말
- 4. 바인딩 식 예외에 대한 예외
- 5. xcode의 예외에 대한 자세한 내용
- 6. 예외에 대한 스택을 얻는 방법
- 7. Python 예외에 대한 유용한 정보
- 8. 인수 예외에 대한 테스트를 작성해야합니까?
- 9. WCF 예외에 대한 사용자에게 익숙한 메시지
- 10. Lin2Sql SQL 예외에 대한 지원되는 변환이 없습니다
- 11. LogCat에서 예외에 대한 텍스트 색상 변경
- 12. CLASS의 모든 예외에 대한 하나의 예외 처리기
- 13. .NET에서 미리 정의 된 예외에 대한 참조
- 14. 캐치 올 예외에 대한 메시지를 얻는 방법
- 15. 구조화 된 예외에 대한 자세한 정보 얻기
- 16. 클래스의 필드에 대한 XML 문서를 참조하십시오.
- 17. 파일 예외에 쓰기?
- 18. 이 예외에 대해 알려주십시오.
- 19. Linq에 엔티티 예외에
- 20. POCO 개체에서 DbContext를 참조하십시오.
- 21. activerecord relations을 참조하십시오.
- 22. 로그 4j 입력을 참조하십시오
- 23. 자체에서 파이썬으로 자신을 참조하십시오.
- 24. Silverlight 백그라운드 스레드에서 처리되지 않은 예외에 대한 이벤트?
- 25. Control.Invoke 대상에서 발생한 예외에 대한 정보를 얻는 방법
- 26. C# .NET 4.0 캐스트 예외에 대한 일반적인 공분산 문제
- 27. 치명적인 예외에 대한 .Net 서버 응용 프로그램을 모니터링하는 방법은 무엇입니까?
- 28. 내부 생성자를 사용하여 타사 예외에 대한 단위 테스트 예외 처리
- 29. Python 응용 프로그램에서 예외에 대한 전자 메일 알림이 있습니까?
- 30. 어딘가에 파이썬에서 AttributeError 예외에 대한 세부 정보를 얻을 수 있습니까?