WCF 라우팅 서비스를 구현했습니다. 또한 서비스 (또는 이와 유사한 WCF 서비스)를 통해 규정 된 균일 한 (컨텐트에 무관 한) 방식으로 페이로드를 변형하고 싶습니다. 예를 들어 페이로드는 항상 Foo<T>
의 형식을 취하며 모든 경우에 Bar<T>
으로 전달하려고합니다. XSLT 또는 프로그래밍 방식의 변환에 만족합니다. 수신 된 메시지의 유형이 Foo<T>
이 아닌 경우 어떤 일이 발생하는지 상관하지 않습니다.콘텐츠 변환을 사용하는 WCF 라우팅
많은 OOTB 기능 (예 : 수많은 바인딩 지원)을 제공하므로 WCF를 사용하고 싶습니다. 새로운 메시지 유형이 라우팅 될 때마다 재 컴파일/재배포가 필요하므로 각각의 닫힌 일반 (Foo<Class1>
Bar<Class1>
, Foo<Class2>
-Bar<Class2>
등)을 변환하는 수많은 상용구 메서드를 사용하여 WCF 서비스를 구현하는 것은 실용적이지 않습니다.
내가 아는 한 WCF는 공개 제네릭을 처리하지 않으며 WCF 라우팅은 콘텐츠 변환 OOTB를 용이하게하지 않습니다. 즉, System.ServiceModel.Routing.RoutingService
은 분명히 특정 형식이 아닌 WCF 호출을 가로 채기 때문에 동일한 목표를 달성하기 위해 동일한 패턴을 활용하기를 희망했습니다. 아무도 이것을 수행하는 방법에 대한 방향을 제시 할 수 있습니까? (또는 불가능한 이유를 나타낼 수 있습니까?)
는 XML 기반의 변환의 어떤 종류를 구현하기 위해 아마도 낮은 수준의 메시지 처리에 가능하지만, 난 당신이 하나 개의 핵심 아이디어를 기반으로 그 때문에 두 가지 이유에 대한 일반적인 지원을 찾을 수 없습니다 생각 : MS는 이미 도구를 가지고 라우팅 및 변환을위한 준비 : 쉬운 시나리오를위한 워크 플로 서비스 및 실제 응용 프로그램 통합을위한 BizTalk Server –
이것은 IDispatchMessageInspector를 사용하여 가능할 것으로 보입니다. – Mark
혹시 이것에 대한 해결책을 찾았습니까? 고마워요. –