我们有一个现有的ServiceContract
[ServiceContract(Namespace = "http://somesite.com/ConversationService")] public interface IConversationService { [OperationContract(IsOneWay = true)] void ProcessMessage(Message message); [OperationContract(IsOneWay = true)] void ProcessMessageResult(MessageResult result); }
我们需要为它添加一个方法
[ServiceContract(Namespace = "http://somesite.com/ConversationService")] public interface IConversationService { [OperationContract(IsOneWay = true)] void ProcessMessage(Message message); [OperationContract(IsOneWay = true)] void ProcessMessageResult(MessageResult result); [OperationContract(IsOneWay = true)] void ProcessBlastMessage(BlastMessage blastMessage); }
这会破坏使用此服务的任何现有wcf客户端吗?或者我们是否必须更新所有现有的wcf客户端?
编辑:此服务使用netTcpBinding和netMsmqBinding
我认为您现有的客户将继续工作.毕竟,这与SOAP和Web服务非常相似,因为客户端将连接到给定的URL并请求特定的服务.如果你采取方法,你将有破损的风险(只有我相信使用的方法),但添加应该没有痛苦.
我只涉足WCF,但以这种方式使用ASP.NET Web服务取得了巨大成功.