我有自定义的Web.config功能,该功能使用LINQ将元素合并到基于模板文件的Web.config中。我想在功能中使用它,以便我可以在负载平衡环境中合并所有web.configs。我知道有一种叫做SpwebConfigModification的东西,但是要添加的元素的程度很大,我需要像模板解决方案更具动态性。我知道我可以在每个前端服务器上运行它,但是在功能或解决方案中会更好。

有没有办法在SharePoint 2007中的功能中访问Web.config?

有帮助吗?

解决方案

如果您真的确定不想使用spwebconfigmodification,则可以查看spwebservice.applyapplicationcontenttolocalserver() - 这具有将整个部分合并到配置文件中的能力,但是具有以下警告:

  • 仅适用于本地服务器(线索是名称!)
  • 必须由本地管理员调用

这两个警告的组合意味着您无法使用使用计时器作业的正常模式来确保农场中所有服务器上执行某些东西。如果您很乐意写Say,可以称呼此Web服务的Windows服务,那将使您围绕它。

但是,我的建议是坚持使用spwebconfigmodifcation。不管自定义部分的大小,它都将进入Web.config作为一个节点的子节点,因此可以添加为“ senurechildnode”。当然,可以将合并功能与SpwebConfigModification相结合(即在合并的XML中通过到SPWEBConfigModification的呼叫),然后您可以肯定的是,更改将在整个农场中应用。另外,易于编写代码以删除更改(例如,如果您的主机代码是功能接收器,则功能停用事件中的更改)。

其他提示

您没有合并应用程序的源代码吗?我想您可以使用SharePoint API访问Web.conf文件,包括功能中的代码。

至少听起来很有趣,

许可以下: CC-BY-SA归因
scroll top