gpt4 book ai didi

WCF - 处理版本控制

转载 作者:行者123 更新时间:2023-12-05 00:01:49 26 4
gpt4 key购买 nike

如果我需要从这个服务契约(Contract)出发:

[ServiceContract(Namespace="http://api.x.com/Svc1")]
public interface IService1
{
[OperationContract(Name = "AddCustomer")]
bool AddCustomer(DTOCustomer1 customer);
}

对此:
[ServiceContract(Namespace="http://api.x.com/Svc1")]
public interface IService1
{
[OperationContract(Name = "AddCustomer")]
bool AddCustomer(DTOCustomer2 customer);
}

根据这篇好文章: Versioning WCF我知道当数据契约改变时,需要在新的命名空间中定义一个新的 vs of 数据契约,然后在新的命名空间中定义一个新的 vs of service 契约,之后应该添加一个新的端点。

我到底该怎么做。任何地方都有例子吗?你能根据我上面显示的服务契约(Contract)写一些东西吗?

先感谢您!

最佳答案

根据链接的文章,您应该执行以下操作:

[ServiceContract(Namespace="http://api.x.com/Svc1")]
public interface IServiceNew : IService1
{
[OperationContract(Name = "AddCustomerNew")]
bool AddCustomer(DTOCustomer2 customer);
}

然后在您的服务中实现它:
public class MyCurrentServiceImplementation : IServiceNew 
{...}

您将需要重新部署您的服务,但现有客户端应该能够继续调用 AddCustomer 操作,而新客户端可以调用 AddCustomerNew 操作。

关于WCF - 处理版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com