更新WCF ServiceContract命名空间



我有以下WCF接口:

[ServiceContract]
public interface IUser
{
    [OperationContract]
    string GetUser();
}

我改成了

[ServiceContract(Namespace = "http://user.com")]
public interface IUser
{
    [OperationContract]
    string GetUser();
}

目标XML命名空间已从默认的tempuri.org更改为user.com

由于wsdl不同,这将中断现有客户端的调用。

是否有办法在配置文件中指定这个命名空间?这将帮助我为现有客户端保留旧的名称空间,并能够升级WS。

一个在部署服务时很容易被忽略的错误。在msdn论坛上发现了这个帖子,我认为这可能会奏效。

思路很简单,创建一个新的服务契约接口(使用正确的命名空间),从现有的服务契约(使用默认的命名空间)继承它。让您的Service类实现新的服务契约,并要求客户端将端点更改为新的服务契约。

URL: http://social.msdn.microsoft.com/forums/en/wcf/thread/2bb09d41 - 7 - ee7 4 - e9d bea8 - 95 bd318a4247。

最新更新