2012-09-24 3 views
0

WCF 서비스 클라이언트의 형식을 바꿀 수있는 방법이 있습니까?클라이언트의 매개 변수 형식 이름 바꾸기

예를 들어 저는 두 가지 버전 (V1 및 V2)으로 서비스하고 있습니다. 각 버전마다 동일한 모델 (Model1 및 Model2)이 있지만 버전이 변경되어 있으므로 Model1V1, Model1V2 등으로 이름이 바뀌 었습니다.

두 서비스의 클라이언트가 모델 유형을 Model1 및 Model2로 처리하도록합니다.

운영 계약의 이름을 변경할 수 있음을 알고 있습니다.

[DataContract(Name = "Model1")] 
public class Model1V1 
{ ... 

클라이언트 어셈블리 공유를 사용하는 경우는, 다음을 수행 할 수 없습니다로

[ServiceContract] 
public interface ServiceV1 
{ 
    [OperationContract] 
    Model1V1 SomeOp(Model2V1 arg); 
} 

[ServiceContract] 
public interface ServiceV2 
{ 
    [OperationContract] 
    Model1V2 SomeOp(Model2V2 arg); 
} 

[DataContract] 
public class Model1V1 
{ 
    ... 
} 
[DataContract] 
public class Model2V1 
{ 
    ... 
} 
[DataContract] 
public class Model1V2 
{ 
    ... 
} 
[DataContract] 
public class Model2V2 
{ 
    ... 
} 
+1

제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –

답변

1

클라이언트가 WSDL/MEX에서 생성되는 경우, 다음이 간단해야한다 , AFAIK.