2009-08-31 58 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