我有一个visual studio 2008解决方案,大约有15个项目。其中一些项目具有对WCF服务项目的WCF服务引用。每当我更新服务项目时,我都必须转到其他每个项目并右键单击服务引用并进行更新。有没有更简单的方法来执行此操作,例如“在解决方案中更新所有服务引用”按钮,某处,某种程度上?
答案 0 :(得分:1)
真的没有这样的功能 - 至少我没有意识到这一点。
你可以做以下两件事之一:
svcutil.exe
更新您的服务引用 - 它是一个命令行工具,您可以批量处理或在构建过程中执行或:
如果您正在控制通信通道的两端,并且两者都是.NET,您可以将服务和数据合同放入单独的程序集(或多个),然后在服务器端和服务器端之间共享这些程序集。客户端代码。您必须稍微改变构建客户端代理的方式(实例化ChannelFactory<T>
并为每个服务合同从该工厂创建通道),但这将是一次性的努力。
完成后,服务和/或数据合同的任何更新都将反映在服务器端代码以及客户端代理代码中。
这里唯一的缺点是:它只适用于.NET-to-.NET通信 - 如果你有非.NET客户端,那些就被冷落了,显然......
< / LI>