2012-10-25 39 views
4

我使用另一個主Web應用程序的功能製作Sharepoint 2010 WebPart。 要快速開發Web部件,我已導入主Web應用程序中使用的業務邏輯程序集。 Webpart運行並從Sharepoint web.config文件中提取應用程序特定的配置信息。在Sharepoint中存儲應用程序特定的配置數據?

這是存放這一信息的最佳地方嗎?

如果不是..

凡/應該如何應用特定的配置數據存儲在SharePoint?

配置數據包含Web服務位置等項目。數據只需要由系統管理員編輯。

謝謝

回答

5

Web.Config是,恕我直言,這是一個可怕的地方存儲這種配置信息 - 它很難部署和難以改變,特別是如果你使用多個Web前端。

推薦的方法是通過SPFarm的.Properties,SPWeb.RootWeb(用於網站集),SPWeb,SPList等(取決於您需要的範圍)使用PropertyBag(鍵/值對)。

MSDN - Managing Custom Configuration Options for a SharePoint Application

有可用的生產就緒代碼的

MSDN - The SharePoint Guidance Library

部分見Hierarchical configuration manager

這給你的編程訪問讀/寫這些值。如果你想在不使用指導庫的情況下做到這一點,那麼你會使用類似下面的代碼。

SPWeb web = SPContext.Current.Web; 
if (web.Properties.ContainsKey("MyProperty")) 
    string myProperty = web.Properties["MyProperty"]; 

如果你想有一個UI,讓管理員能夠輕鬆設定值,則使用類似SharePoint Property Bag Settings

+0

感謝它的工作:) – Sprouts

1

最簡單的方法是創建僅供管理員使用的SharePoint列表。它可以有3列description,title,value。它將存儲所有配置值。您也可以將此列表的鏈接添加到網站設置頁面。

+0

那麼所有你需要做的是存儲的配置值,其中列出你用它來尋找配置值:) – Nat

0

Web配置總是一個好地方。但是,如果您想更改該數據,則必須執行某種網站重新編譯,這對最終用戶來說是一種痛苦。

即使世界在CodePlex上一個可愛的小應用程序/解決方案與屬性包值

http://pbs.codeplex.com/

這是一個輝煌的小應用程序/解決方案與您的中央管理紐帶做。

這應該是內置的我認爲。

希望這會有所幫助。

+0

哦,不,它有時*是一個適當的地方。這絕對不是「*永遠*一個好地方」。 – 2013-02-02 00:52:18

相關問題