2009-08-31 76 views
1

我目前正在研究需要使用列表SharePoint Web服务(Lists.asmx)的SharePoint项目。因此,我们需要在Visual Studio中为其添加服务引用。但是,我们都在不同的虚拟机上开发和测试(具有不同的VM名称,URL等)。 QA,测试和生产环境都有不同的名称和URL。Web服务引用 - 动态URL

添加服务引用会添加一大堆引用,这些引用是在创建引用时(在app.config。.wsdl,.disco等中)指定的。这对我们来说显然是一个问题,因为在一台机器上工作的代码在其他任何地方都无法工作(这打破了构建和持续集成)。我们每次使用签入的代码时都必须删除和添加服务引用由别人。

这对于开发Web服务的人来说肯定是一个相当普遍的问题,所以我想知道是否有解决方法。我知道你不能真正创建一个“动态”的Web引用,但可能会以某种方式最小化URL更改的影响?

谢谢!

+0

排除app.config(其中包含URL),所有其他文件应该是相同的。 – John 2009-08-31 21:05:23

回答

7

默认情况下,网络服务使用它最初创建的位置。 WebService代理具有可以设置的URL属性。

这个例子显示了动态地设置它:http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx

编辑: 你也不限于使用Visual Studio中的添加Web引用功能。您可以使用.NET Framework SDK附带的wsdl.exe工具来生成代码文件。

+0

谢谢。我正在使用“服务参考”,它没有给我“动态”选项。不过,我仍然可以创建一个Web引用并将其设置为动态。 – 2009-09-01 12:53:41