【发布时间】:2015-11-09 12:38:22
【问题描述】:
我正在开发一个 WCF SOAP 服务,该服务突然切换到在每个操作上生成消息协定。因此,之前,将在客户端通过 wsdl 在生成的类中生成具有相同签名的字符串 Foo(int bar) 之类的方法,现在它正在生成签名 FooResponse Foo(FooRequest request)。目前还不清楚是什么变化导致了这种情况,但是我们在这个服务合同中有几十个方法,用 [MessageContract(IsWrapped = false)] 装饰所有东西是不切实际的,我当然不应该这样做,因为我们得到了自动-生成我们之前想要的代码。有没有其他方法可以让它恢复到以前的工作方式?
【问题讨论】:
-
您是否在控制服务和消费者的源代码?
-
服务的源代码和消费者的源代码由同一公司的不同团队管理。
-
在这种情况下,最安全的做法是让服务团队将服务和操作合同接口和服务类型程序集发布为 nuget 包。然后客户端团队可以使用 nuget 包而不是服务引用。问题解决了。
标签: c# web-services wcf soap wsdl