저는 약 10 건의 계약을 지원하는 WCF 서비스를 보유하고 있으며,이 클라이언트와 관련된 모든 비즈니스 규칙을 가진 클라이언트를 지원하고 있습니다. 이제 똑같은 계약을 사용할 다른 클라이언트가 생겼습니다. 그것들을 바꾸면) 그들은 이전의 클라이언트가 지금 호출했던 것과 똑같은 방식으로 서비스를 호출 할 것입니다. 우리가 두 클라이언트를 구별 할 수있는 유일한 방법은 입력 매개 변수 중 하나입니다. 이 입력 매개 변수를 기반으로 약간 다른 비즈니스 로직을 사용해야합니다. 두 클라이언트의 로직은 나머지 로직이 (비즈니스/DAL 레이어에서) 동일한 50 %입니다. 나는 각각의 계약 구현에서 else 문을 사용하여 논리를 차별화하고 재 라우팅하는 방법을 사용하고 싶지 않습니다. 다른 클라이언트가 들어 오면 어떻게 될까요? 이와 같은 상황을 처리하는 깨끗한 방법이 있습니까? 3.5 프레임 워크를 사용하고 있습니다. 마찬가지로 나는 새로운 클라이언트에 대한 계약 (서비스/데이터 계약)이나 현재의 서비스 호출 인프라를 변경할 수 없다고 말했습니다. 감사합니다WCF 비즈니스 논리 처리
0
A
답변
0
아마도 두 번 서비스를 호스팅하고 클라이언트가 올바른 서비스에 연결할 수 있습니까? 그것과 별개로, 당신은 일종의 if-else를 사용해야합니다.
0
나는이 당신에게 적용 할 수 있는지 여부를 말할 수는 없지만, 우리는이 경로를 따라 비슷한 문제를 해결 한 :
- 우리는 몇 가지 논리가 호출되는 환경에서의 메시지에 헤더 정보를 추가를 .
- 이 정보는 RequestContext 클래스에서 끝납니다.
- 우리는 우리는 컨테이너에 의해 제공 될 수있는 방법을 특정 구성 요소 전략 정의
- (우리의 경우 StructureMap에)는 DI 컨테이너에 계약의 구현을 인스턴스화의 책임을 위임 :
- 이 있습니다를 어떤 종류의 구성 요소에 대한 기본값.
- 특성을이 특성화 유형을 사용해야하는 유형을 나타내는 전문화에 배치 할 수 있습니다.
- 이 우리는 지금 설명한 과정을 적용하는 방식으로 해결 된 서비스 구현의
ObjectFactory.With(requestcontext).getInstance<CONTRACT>()
- 종속성을 진술하여 컨테이너에 전화를 사용할 수 메커니즘
- 을 통해 컨테이너에 등록됩니다. 즉, 전문화는 최종적으로 헤더에있는 요청 정보를 기반으로 제공됩니다.
이것은 어떻게 해결할 수 있는지 예입니다.
관련 문제
- 1. WCF 서비스에서 비즈니스 논리 계층 노출
- 2. 비즈니스 논리 클래스 이름 지정
- 3. Enums의 비즈니스 논리?
- 4. WCF 데이터 액세스 및 비즈니스 논리 계층 사용
- 5. WCF 서비스 응용 프로그램에서 비즈니스 논리 계층 구성
- 6. 저장소 패턴 및 비즈니스 논리
- 7. Microsoft CRM에서 비즈니스 논리 구현
- 8. 비즈니스 및 응용 프로그램 논리?
- 9. codeiginter - 비즈니스 논리 - 컨트롤러, 모델 또는 라이브러리?
- 10. 비즈니스 논리 클래스에서 asp.net mvc 페이지 리디렉션
- 11. WCF RIA 서비스 비즈니스 규칙/데이터베이스 예외 처리
- 12. .NET 용 표준 비즈니스 논리 데이터 클래스
- 13. 저장소의 중첩 클래스 및 비즈니스 논리?
- 14. 생성자의 비즈니스 논리 - C#/Linq to Sql
- 15. 객체 현지화 문자열이있는 비즈니스 지향 논리?
- 16. MVC/MVP/MVVM - 비즈니스 논리 구성 방법
- 17. 처리 속도를 높이는 프로그램 논리
- 18. 예외 처리 및 프로그램 논리
- 19. MVC 패턴에서 간단한 비즈니스 프로세스 처리?
- 20. 비즈니스 논리 개체에 입력을 요구하는 것은 좋지 않은 디자인입니까?
- 21. WCF : 비즈니스 엔터티 별 서비스 구분
- 22. 다중 값 개체의 비즈니스 논리 - 루프를 넣을 위치는 어디입니까?
- 23. Castle Windsor를 사용할 때 WCF 서비스 간의 종속성 처리
- 24. PHP에서 Bussines 논리 오류 처리. 어쩌면 디자인 패턴일까요?
- 25. WCF에서 기존 비즈니스 개체 노출
- 26. WCF 오류 처리
- 27. Wcf 예외 처리
- 28. 이미지 처리 - WCF
- 29. WCF 동시 처리 문제
- 30. WCF 휴식 오류 처리