当前位置:  开发笔记 > 运维 > 正文

WCF合同更改会影响客户端

如何解决《WCF合同更改会影响客户端》经验,为你挑选了1个好方法。

我很好奇是否有人可以概述服务器端哪些类型的WCF合同(接口)更改会破坏尝试发送消息的客户端,以及原因.我相信WCF可以处理某些差异,但我不确定你可以安全地改变什么,以及你不能做什么.

从OperationContract添加/删除参数?

添加/删除/更改DataContract的序列化属性?

从ServiceContract添加/删除OperationContracts?

一位朋友在这里问了一个类似的问题

向WCF ServiceContract添加方法是否会破坏现有客户端?

编辑:正如John Saunders所指出的那样,改变合同通常不是一个好主意,但是内置的东西允许一些版本容忍(ExtensionDataObject等?).我想知道版本容差的灵活性.



1> Jonathan Par..:

查看有关dasBlonde的文章:版本化WCF服务合同

它列出了哪些更改将破坏现有客户端:

    删除操作

    更改操作名称

    删除操作参数

    添加操作参数

    更改操作参数名称或数据类型

    更改操作的返回值类型

    通过显式使用.NET属性或自定义序列化代码更改参数类型(数据协定)或操作(消息协定)的序列化XML格式

    修改服务操作编码格式(RPC编码与文档文字)

Michele的这篇文章更详细地解释了如何设计合同以使其更加灵活.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有