2009-09-15 150 views
2

我有一個MOSS 2007 Web部件,顯示從外部web服務(不是源自sharepoint)獲得的數據。Sharepoint 2007:如何更改自定義Web部件Web服務URL?

它使用VS2009創建的,該web部件項目包括一個Web引用到我的web服務,它使用下面的代碼,以使一個連接(URL在Web引用配置):

//get xml sitemap from webservice 
    MenuService.MenuService service = new MenuService.MenuService(); 
    service.Credentials = System.Net.CredentialCache.DefaultCredentials; 
    XmlNode sitemapRootNode = service.GetSiteMapXML(); 

我編的web部件,部署在BIN文件夾中,一切正常。

但是我不能更改Web服務URL ......如果我想在web部件移動到另一個環境,我需要重新編譯,以改變web服務URL

而且整個事情,當我編譯它創建了一個webpart項目webpartname.dll.config包含webservice URL的文件...但是這個配置文件什麼都不做。如果我改變它,或者直接從BIN文件夾中刪除它,那麼webpart仍然會連接到舊的URL ... URL似乎是在webpart DLL中硬編碼的。

有沒有一種方法來配置一個Web部件,因此它會在配置文件中查找其Web服務URL?

回答

2

Web部件作爲網站的一部分運行。它應該從該站點的web.config中獲取這些配置,因此請嘗試將webpartname.dll.config的配置插入到web.config文件(這需要一點點,但要保留相同的部分,但並不複雜)。

+0

爲什麼我沒有想到...謝謝! – scoob 2009-09-15 18:35:52

2

還有SPConfigStore。如果服務器場中有多個服務器,並且希望將Web服務URL保存在中央位置並存儲在SharePoint數據庫中,則這是一個合適的解決方案。

相關問題