이 항목에 대해 비슷한 질문이 있지만 동일한 문제를 해결하고 있다고 확신하지 못했습니다. 그럼 그냥 분명히 ...WCF에서 기존 비즈니스 개체 노출
유형, 비즈니스 로직 및 데이터 액세스를위한 네임 스페이스가있는 기존 클래스 라이브러리가 있습니다. 논리 및 데이터 액세스 네임 스페이스의 클래스는 정적이며 데이터가있는 유형 인스턴스를 채우거나 이미 가득 찬 유형 인스턴스를 가져 와서 데이터베이스에 삽입 또는 업데이트를 수행하는 기본적인 방법이 있습니다.
이제는이 라이브러리를 직접 참조하는 기존 응용 프로그램 외에도 WCF 서비스를 만들어 다른 응용 프로그램이 이러한 방식으로 개체와 메서드를 사용할 수있게하려고합니다.
내가 보는 모든 WCF 터널은 서비스 프로젝트에서 도메인 개체를 만듭니다.하지만 두 곳에서 내 개체를 정의하고 싶지는 않습니다.
그래서 기존 클래스 라이브러리에서 직렬화를 참조하고 [DataContract] 및 [DataMember]와 같은 형식 클래스를 표시 할 수 있다고 생각했습니다. 그런 다음 WCF 프로젝트에서 [OperationContract] 메서드를 사용하여 [ServiceContract] 인터페이스를 만들어 노출하려는 기존 라이브러리의 정적 논리 클래스와 메서드를 찾습니다. 그런 다음 WCF 프로젝트에서 기존 클래스 라이브러리를 참조하고 기존 라이브러리 유형을 반환하는 기존 라이브러리 논리 메서드를 호출하는 메서드를 포함하여 WCF 인터페이스를 구현합니다.
좋은 패턴입니까?
감사합니다. 실제로 나는 언급하지 않았지만, 내가하려고하는 일 중 하나는 도서관을 서비스의 소비자에게 보내지 않는 것입니다. –