4

我正在制作一个具有来自另一个主 Web 应用程序的功能的 Sharepoint 2010 WebPart。为了快速开发 Webpart,我导入了主 Web 应用程序中使用的业务逻辑程序集。Webpart 工作并从 Sharepoint web.config 文件中提取应用程序特定的配置信息。

这是存储这些信息的最佳位置吗?

如果不..

应用程序特定的配置数据应存储在哪里/如何存储在 Sharepoint 中?

配置数据包含 Web 服务的位置等项目。数据只需要由系统管理员编辑。

谢谢

4

3 回答 3

5

恕我直言,Web.Config 是存储此类配置信息的糟糕场所——它难以部署且难以更改,尤其是在您使用多个 Web 前端时。

推荐的方法是通过 SPFarm、SPWeb.RootWeb(用于网站集)、SPWeb、SPList 等(取决于您需要的范围)的 .Properties 使用 PropertyBag(键/值对)。

MSDN - 管理 SharePoint 应用程序的自定义配置选项

有一个可用于生产的代码作为

MSDN - SharePoint 指导库

请参阅分层配置管理器

这使您能够以编程方式读取/写入这些值。如果您想在不使用指导库的情况下执行此操作,那么您将使用类似于以下代码的内容。

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

如果您希望 UI 允许管理员轻松设置值,请使用SharePoint 属性包设置之类的东西

于 2012-10-25T17:53:32.230 回答
1

最简单的方法是创建仅对管理员可见的共享点列表。它可以有 3 列description, title, value. 它将存储所有配置值。您还可以将此列表的链接添加到站点设置页面。

于 2012-10-25T14:13:00.373 回答
0

网络配置总是一个好地方。但是,如果您想更改该数据,则必须强制执行某种站点重新编译,这对最终用户来说是一种痛苦。

在 codeplex 上有一个不错的小应用程序/解决方案与属性包值有关

http://pbs.codeplex.com/

这是一个与您的中央管理相关的出色的小应用程序/解决方案。

我认为它应该是内置的。

希望这可以帮助。

于 2012-10-25T14:52:14.857 回答