Icontact と wcf サービスに 2 つのメソッドがあり、新しい要件のために 1 つのメソッドをバージョンアップしたいと考えています。既存のクライアントに古いコードを呼び出してもらいたい。下位互換性のために、変更された新しいメソッドと既存のメソッドを呼び出す新しいクライアント。
コード:
[ServiceContract(Namespace = "http://www.testk.com/1/11", Name = "cService")]
public interface ICService
{
[OperationContract(Name="GetWorkingDetails")]
void GetWorkingDetails(int a);
void GetList(int a);
}
//service Implementation
public class MyService : ICService
{
[WebGet]
void GetWorkingDetails(int a)
{
////
}
[WebGet]
void GetList(int a)
{
////
}
}
ここで私はバージョン管理をしています.....
[ServiceContract(Namespace = "http://www.testk.com/2/11", Name = "cService")]
public interface ICServicev1
{
[OperationContract(Name="GetWorkingDetails")]
void GetWorkingDetailsV2(int a);
}
<endpoint address="" behaviorConfiguration="AjaxBehavior"
binding="webHttpBinding" bindingConfiguration="" name="v0"
contract="ICService" />
<endpoint address="r1" behaviorConfiguration="AjaxBehavior"
binding="webHttpBinding" bindingConfiguration="" name="v1"
contract="ICServicev1" />
既存のメソッドを呼び出すと、うまく機能し、呼び出すservice.svc/r1/GetWorkingDetails
とうまく機能します。service.svc/r1/GetList
しかし、私は前の契約にあるものも呼びたいです。下位互換性のためにこれを呼び出すにはどうすればよいですか。
どうも