我正在使用其他主Web应用程序的功能制作Sharepoint 2010 WebPart。 为了快速开发Webpart,我已经导入了主Web应用程序中使用的业务逻辑程序集。 Webpart工作并从Sharepoint web.config文件中提取特定于应用程序的配置信息。
这是存储此信息的最佳位置吗?
如果没有..
应用程序特定配置数据在何处/如何存储在Sharepoint中?
配置数据包含Web服务等位置等项目。数据只需要由系统管理员编辑。
由于
答案 0 :(得分:5)
Web.Config是,恕我直言,存储这种配置信息的一个可怕的地方 - 它很难部署,很难改变,特别是如果你使用多个网络前端。
建议的方法是使用PropertyBag(键/值对)通过SPFarm的.Properties,SPWeb.RootWeb(用于网站集),SPWeb,SPList等(取决于您需要的范围)。 / p>
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"];
如果您希望用户界面允许管理员轻松设置值,请使用SharePoint Property Bag Settings
之类的内容答案 1 :(得分:1)
最简单的方法是创建仅对管理员可见的共享点列表。它可以有3列description
,title
,value
。它将存储所有配置值。您还可以将此列表的链接添加到网站设置页面。
答案 2 :(得分:0)
网络配置始终是个好地方。但是,如果要更改该数据,则必须强制执行某种类型的站点重新编译,这对最终用户来说是一种痛苦。
在codeplex上有一个很好的小应用程序/解决方案来处理属性包值
这是一个很棒的小应用程序/解决方案,与您的中央管理部门联系在一起。
我认为它应该是内置的。
希望这有帮助。