如何在 Sharepoint Web 应用程序中部署 web.config 修改?
-
05-07-2019 - |
题
我有一个 Sharepoint 2007 网站。我们使用 wsp 来部署我们的项目。我们可以部署 dll、用户控件、功能,但我不知道如何在 web.config 中包含新行。
更改 web.config 的可能方法是什么?
另一件事,如何在 wsp 中包含资源 (resx)?
解决方案
手动编辑多服务器场中的web.config是个坏主意。确保web.config文件在每个WFE上保持同步将很快成为一场噩梦。
使用SPWebConfigModification类管理服务器场中的web.config更改是一个好主意,因为更改将保留在SharePoint配置数据库中,并自动推送到服务器场中的每个服务器。
话虽如此,对班级进行编码可能会很痛苦。幸运的是,有一个免费提供的非常好的前端,在管理中心为您提供配置屏幕以添加/删除web.config更改。
其他提示
通过解决方案添加安全控制条目有一种非常简单的方法。添加到manifest.xml的以下代码段将对web.config文件进行相关修改。要设置其他值,您应该使用 SPWebConfigModification 类。
<Assemblies>
<Assembly ...>
<SafeControl Namespace=".." Assembly="..." Type="..." Safe="True" />
</Assembly>
....
</Assemblies>
此外,如果您考虑使用web.config中的appSettings作为您的站点配置值,您实际上也有其他选项。由于各种原因,web.config可能并不总是放置您的值的最佳位置 - 至少如果“超级用户”等应该能够在以后更改它们。为此,您可以改为使用配置存储功能,该功能还可以跨服务器场扩展,用于多个前端服务器等:
http://www.sharepointnutsandbolts.com /2008/05/introducing-sharepoint-config-store-for.html
我认为当您有多个服务器时,直接操作 web.config 可能会变得很棘手。如果您的整个安装仅在几台服务器上,那么这样做可能比尝试通过代码进行简单的 web.config 更改更容易。
另外,直接操作 web.config 可确保您的源代码管理系统中拥有完整的 web.config。如果您使用 API 进行更改,您在源代码管理中所拥有的只是一堆您希望没有错误的 C# 代码!
我建议不要乱用任何手动修改代码。相反,通过将修改放在12 \ Config目录中来做“SharePoint方式”如Microsoft的SharePoint文档中所述。