82

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

这会导致 IIS6 工作进程回收吗?

活跃用户会因此失去他们的会话状态吗?

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

4

5 回答 5

78

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

于 2008-10-07T13:13:05.183 回答
30
  1. 是的。它将被回收。
  2. 是的。他们将失去他们的会话。
  3. 是的。您可以安全地编辑该文件。我建议您阅读这篇 MSDN 文章:Working with web.config Files in Windows SharePoint Services
于 2008-10-07T13:14:48.767 回答
9

此外,如果会话状态配置为进程外(数据库或服务),则回收应用程序池不会丢失任何会话状态。这对于 Sharepoint 和 vanilla ASP.Net 一样适用。

于 2008-10-08T15:25:12.153 回答
2

当您编辑 web.config 时,它将重新启动该 Web 应用程序的 AppDomain(不是 AppPool)并清除所有占用的资源和内存。因此在该 App Pool 下运行的其他 Web 应用程序不会受到影响。它还将清除会话(进程内)和内存缓存。

于 2018-06-20T23:11:22.050 回答
1

正如一些人已经提到的:IIS 中站点的应用程序池将重新启动(这通常需要几秒钟)。结果,下一页请求将变慢(因为不再缓存任何内容)。用户的会话状态也会丢失;但是默认情况下不使用 WSS 会话状态,在 MOSS 中它由 InfoPath Form Services 使用。因此,您可能没有与丢失会话状态相关的大问题。

另一方面; 为了克服这些问题:通常要做的是创建一个 SharePoint 解决方案 (WSP),该解决方案部署并启动一个计时器作业以从代码更改 web.config(使用对象模型的 SPWebConfigModification 类)。好处是您可以安排更改的执行,这样您的用户就不会注意到它。

于 2008-10-08T06:43:46.013 回答