2011-03-01 2 views
1

현재 SOAP + XML 서비스 인 .NET 3.5 WCF 서비스가 있습니다. JSON 형식으로 응답해야하는 일부 클라이언트에게이 동일한 서비스를 노출해야합니다. WCF 서비스 - SOAP + XML 및 JSON 끝점에 대해 다른 데이터 수집

그것은 그들의 대답에 대한 다른 SO 질문을 통해가는 동안

, 내가 그러나, 나는 약간 더 큰 합병증이

here을 설명 자체에서이 2 개의 다른 엔드 포인트를함으로써 가능해야한다고 생각합니다. JSON 서비스를 통해 노출 될 DataContracts를 변경해야합니다. 즉 SOAP 서비스에서 현재 노출 된 모든 속성이 필요하지는 않습니다. JSON 객체는 속성의 하위 집합 만 노출해야합니다.

DataContractJsonSerializer serializer에 DataContract 특성으로 장식 된 특정 필드를 생략 할 수있는 방법이 있습니까?이 클래스는 봉인되어 있으므로 상속하지 않아도됩니다. 여기에 내 자신의 serializer를 작성해야합니까? 그렇다면 WCF에 내 사용자 지정 serializer를 사용하도록 지시하는 방법은 무엇입니까?

답변

3

동일한 유형에 DataContractSerializerDataContractJsonSerializer을 사용하면 동일한 클래스가 serializtion에 대해 동일한 규칙을 사용하므로 동일한 속성을 항상 serialize합니다. 가장 쉽고 올바른 방법은 두 번째 enpoint (또는 완전히 새로운 서비스)에 대한 새 서비스 계약을 정의하고 새 데이터 계약으로 작업을 노출하는 것입니다.

관련 문제