当我编辑web.config时会发生什么?

我需要在实际的Sharepoint环境中编辑web.config文件,但是我不确定如果我这样做会发生什么(我想输出自定义错误)。

这将导致IIS6工作进程回收?

活跃用户会因此而失去会话状态吗?

或者我可以安全地编辑文件?

应用程序池将重新启动,会话状态将丢失。 想象一下,每个ASP.NET应用程序(在IIS中定义的)都是桌面上的一个程序。 保存web.config将做类似于closures程序并重新打开的程序。

  1. 是。 它将被回收。
  2. 是。 他们将失去他们的会议。
  3. 是。 您可以安全地编辑文件。 我build议你阅读这篇MSDN文章: 在Windows SharePoint Services中使用web.config文件

另外,如果会话状态configuration为进程外(数据库或服务),则回收应用程序池将不会丢失任何会话状态。 对于Sharepoint来说,这与香草ASP.Net一样。

正如一些人已经提到的那样:IIS中站点的应用程序池将重新启动(通常需要几秒钟的时间)。 结果,下一个页面请求会更慢(因为没有东西会被caching了)。 用户的会话状态也会丢失; 但WSS会话状态默认情况下不使用,在MOSS中,InfoPath表单服务使用它。 所以这可能是因为你没有遇到与丢失会话状态有关的大问题。

另一方面; 以克服这些问题:通常做的是创build一个SharePoint解决scheme(WSP),部署和启动一个定时器作业,以从代码(使用对象模型的SPWebConfigModification类)对web.config进行更改。 好的是你可以安排更改的执行,所以你的用户不会注意到它。

如果您有任何编辑Webconfiguration的想法,请查看SPWebConfigModification类。