2011-11-29 70 views
1

基數: 我創建了一個ASP.NET部件以部署到Sharepoint 2010站點。此Web部件使用外部Web服務,其他託管的WCF服務位於與Sharepoint站點不在同一臺計算機上的位置。 Web部件使用通過部署項目創建的CAB文件安裝在Sharepoint服務器上。在sharepoint 2010中爲asp.net web部件定製web.config

問題: 我的問題是,我有Web服務在我的ASP.NET Web部件解決方案的web.config文件,我需要修改基於綁定配置哪些客戶正在使用它,所以我需要能夠在安裝(或期間)後修改我的綁定地址。

其他: 我已經看到了使用SPWebConfigModification解決方案,但我的SharePoint沒有本地安裝,這樣是不是一種選擇。我還看到純粹的C#解決方案,其中端點地址在程序集中被硬編碼,但這會阻止我在編譯Web部件後修改地址。最好的辦法是有一個外部TXT/XML的文件,我可以從我的網絡的一部分使用來從端點地址,或更新的SharePoint web.config中沒有使用SPWebConfigModification的一個聰明的辦法。

so ...

任何人都有一個很好的解決我的問題?

回答

1

您可以使用將包含WCF端點信息定製的web部件屬性?這樣,您可以在添加到頁面後配置您的Web部件。這些屬性可以從webpart代碼訪問,因此您可以在運行時生成wcf代理,而解決方案中沒有自定義配置文件。

這篇文章可能會幫助你的自定義屬性http://www.lamber.info/post/2010/05/21/How-do-I-create-custom-properties-in-Visual-Web-Parts.aspx

+0

感謝您的鏈接,我認爲這是要走的路。會嘗試與成功或失敗返回=) –

0

編輯web.config中幾乎總是錯的地方,把這樣的事情。

瑪克斯的答案是好的,肯定是最簡單的選項,如果你想給Web服務的地址存放在一個地方由多個Web部件情況下使用這個選項可能會更好。

SO - What is a proper way to store site-level global variables in a SharePoint site?

+0

我沒有我的開發機器上訪問Microsoft.SharePoint程序API和尋找是基於沒有使用命名空間Microsoft.SharePoint程序,這樣的解決方案在隊中的任何開發人員可以將Web部件寫入產品。所以這個解決方案不適合我,但無論如何感謝。 –

+1

如果你堅決不使用SharePoint API,那麼這是不是一個SharePoint的問題,不應該被標題和標籤這樣! – Ryan

相關問題