我需要在实时Sharepoint环境上编辑web.config文件,但是我不确定如果这样做(我想输出自定义错误)会发生什么。
这会导致IIS6工作进程回收吗?
活动用户会因此而失去会话状态吗?
还是可以安全地编辑文件?
Answers:
应用程序池将重新启动,会话状态将丢失。想象每个ASP.NET应用程序(在IIS中定义)都是桌面上的程序。保存web.config将执行类似于关闭程序然后重新打开的操作。
Application Pools > Advanced Options > Recycling > Disable recycling
本身会导致应用程序池回收吗?乌龟一直走下去吗?
当您编辑web.config时,它将重新启动该Web应用程序的AppDomain(NOT AppPool),并清除所有占用的资源和内存。因此,在该应用程序池下运行的其他Web应用程序将不会受到影响。此外,它将清除会话(进行中)和内存缓存。
正如某些人已经提到的那样:IIS中站点的应用程序池将重新启动(这通常需要几秒钟)。结果,下一个页面请求将变慢(因为不再缓存任何内容)。用户的会话状态也会丢失;默认情况下,不使用处于WSS会话状态的BUT,而在MOSS中,InfoPath Form Services使用它。因此,可能没有与丢失会话状态相关的大问题。
另一方面; 为克服这些问题:通常要做的是创建一个SharePoint解决方案(WSP),该解决方案将部署并启动计时器作业,以从代码(使用对象模型的SPWebConfigModification类)对web.config进行更改。令人高兴的是,您可以安排更改的执行时间,因此您的用户不会注意到它。