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