WCF服务引用更新

3
  1. 目前我们在一个解决方案中有大约5个服务引用。 即使是间接依赖调用服务方法的项目,我也被迫添加服务引用。有没有办法解决这种情况。

  2. 每次服务方法发生变化时,我都必须更新每个服务引用以影响这些更改。这也非常耗时。 我想知道,是否有任何方法可以通过为整个解决方案创建单个服务引用来全局管理这些事情。

感谢您的帮助.....:)

2个回答

5
您应该能够使用svcutil.exe命令行实用程序从多个服务URL生成单个服务文件(例如.cs文件)。这样的好处是,如果它们具有相同的模式,则可以在服务之间共享客户端DTO和消息类型。
SvcUtil参考文档:http://msdn.microsoft.com/en-us/library/aa347733.aspx 关于向具有间接依赖项的项目添加服务引用的要求。您应该避免直接从服务客户端中使用服务引用和相关类型。为了提高可维护性和适应性,您应该将服务引用包装在一个facade中。facade将在本地类型和服务引用类型之间进行映射,并在响应服务更改方面给您更大的灵活性。然后,您只需要在单个位置(最好是独立项目)中拥有服务引用以及facade。facade很少更改,因此它将缓冲您当前在服务引用方面遇到的问题。

1
svcutil并没有像“更新服务引用”一样执行相同的工作,这真是令人痛苦。 - Panagiotis Kanavos

2
如果您有多个服务,恐怕无法获得单个引用。我被纠正了 - 请参阅jrista的答案。
您可以自动创建和更新服务引用:不要在Visual Studio中手动添加它们,而是使用svcutil.exe命令行工具,它基本上会执行相同的操作。
由于它是一个命令行工具,您可以将其作为持续构建的一部分运行,并在每次构建应用程序时更新必要的代理客户端文件。
请查看以下附加链接,了解有关使用svcutil.exe的详细教程和说明: 马克

使用Svcutil,您确实可以从多个服务端点URL生成单个服务“引用”。 - jrista
我不知道这是可能的 - 谢谢你指出来! - marc_s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接