Sharepoint 存储web组件的场级数据

Sharepoint 存储web组件的场级数据,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我已经构建了一个SharePoint用户控件(不是web部件),并正在通过解决方案、功能等进行部署 这是一个商业组件,我希望在注册后能够存储许可证信息。我已经完成了所有的授权工作,但是,我正试图找到一个“全局”(即场级)位置来存储信息(因此它可以在多服务器场上工作) 这是一个商业组件,因此我无法控制安全策略、应用程序池帐户等。我需要它在管理员不需要重新配置服务器场的情况下工作 我考虑过: Web.config-迄今为止最好的选择,但已经读到Windows UAC可能会干扰,并且更改可能并不总是

我已经构建了一个SharePoint用户控件(不是web部件),并正在通过解决方案、功能等进行部署

这是一个商业组件,我希望在注册后能够存储许可证信息。我已经完成了所有的授权工作,但是,我正试图找到一个“全局”(即场级)位置来存储信息(因此它可以在多服务器场上工作)

这是一个商业组件,因此我无法控制安全策略、应用程序池帐户等。我需要它在管理员不需要重新配置服务器场的情况下工作

我考虑过:

  • Web.config-迄今为止最好的选择,但已经读到Windows UAC可能会干扰,并且更改可能并不总是应用

  • 分层对象存储-几个安全问题-即应用程序池需要访问配置数据库(许多环境不允许)

  • 根站点属性包-可能。我可以在注册时更新所有根站点属性,但是创建新的web应用时会发生什么?用户必须为每个web应用注册组件吗

  • 注册表、文件系统-未跨服务器持久化

  • 自定义数据库-似乎有很多地方会失败

我知道其他商业供应商也在做这件事

有什么想法吗

Web.config-迄今为止最好的选择,但已经读到Windows UAC可能会干扰,并且更改可能并不总是应用

关于将配置内容放入web.config,有很多不同的观点。就我个人而言,我不推荐它,因为SharePoint会自动将更改推送到它,而您无法真正控制正在发生的事情

我也有类似的要求,但在SiteCollection级别。我所做的是创建一个简单的自定义列表,在我的网站集的根目录下有两列(键、值)。在我的代码中,我硬编码了列表的名称,并使用提升的权限(因为我将列表权限设置为admin only)来访问所需的值

您基本上也可以这样做,但不是在SiteCollection级别的根级别,而是在中央管理级别。这样,您就可以从SharePoint中的任何位置访问配置列表

另一个想法是建立一个简单的配置数据库,然后使用自定义web服务(部署在SharePoint中)获取其值。然而,这会给这样一个“简单”的任务增加相当多的开销,如果没有适当的异常处理/日志记录,会给您带来很多麻烦

Web.config-迄今为止最好的选择,但已经读到Windows UAC可能会干扰,并且更改可能并不总是应用

关于将配置内容放入web.config,有很多不同的观点。就我个人而言,我不推荐它,因为SharePoint会自动将更改推送到它,而您无法真正控制正在发生的事情

我也有类似的要求,但在SiteCollection级别。我所做的是创建一个简单的自定义列表,在我的网站集的根目录下有两列(键、值)。在我的代码中,我硬编码了列表的名称,并使用提升的权限(因为我将列表权限设置为admin only)来访问所需的值

您基本上也可以这样做,但不是在SiteCollection级别的根级别,而是在中央管理级别。这样,您就可以从SharePoint中的任何位置访问配置列表

另一个想法是建立一个简单的配置数据库,然后使用自定义web服务(部署在SharePoint中)获取其值。然而,这会给这样一个“简单”的任务增加相当多的开销,如果没有适当的异常处理/日志记录,会给您带来很多麻烦