У меня есть два метода в службе Icontact и wcf, я хочу использовать один метод для нового требования. и хотите, чтобы существующие клиенты вызывали старый код. и новый клиент для вызова нового измененного метода и существующего метода для обратной совместимости.WCF Versioning restful way problem
код:
[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
, который находится в предыдущем контракте. Как я могу назвать это для обратной совместимости.
Thx