Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 编辑web.config时会发生什么?_Asp.net_Sharepoint_Iis 6 - Fatal编程技术网

Asp.net 编辑web.config时会发生什么?

Asp.net 编辑web.config时会发生什么?,asp.net,sharepoint,iis-6,Asp.net,Sharepoint,Iis 6,我需要在实时Sharepoint环境中编辑web.config文件,但我不确定如果这样做会发生什么(我想输出自定义错误) 这会导致IIS6工作进程循环使用吗 活动用户是否会因此而失去会话状态 或者我可以安全地编辑文件吗?应用程序池将重新启动,会话状态将丢失。假设每个ASP.NET应用程序(如IIS中定义的)都是桌面上的一个程序。保存web.config将执行类似于关闭程序并重新打开它的操作 对。它将被回收利用 对。他们将失去他们的会议 对。您可以安全地编辑该文件。我建议您阅读这篇MSDN文章:

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

这会导致IIS6工作进程循环使用吗

活动用户是否会因此而失去会话状态


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

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

  • 对。它将被回收利用
  • 对。他们将失去他们的会议
  • 对。您可以安全地编辑该文件。我建议您阅读这篇MSDN文章:

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


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

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

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

    您可以定义要放置在远程计算机上的会话,因此应用程序重置不会导致会话丢失IIS6的信息,但在IIS7和IIS8中,这是默认行为,尽管您可以通过应用程序池>高级选项>回收>禁用配置更改回收=true来更改它,例如,这对生产环境很有帮助,以便管理员可以进行更改,直到下一次回收才生效。对于Sharepoint,我认为有一种方法可以安排更改,以便在特定时间应用更改。@没有必要,但是设置
    应用程序池>高级选项>回收>禁用回收本身是否会导致应用程序池回收?一路下来的海龟?嗨,丹格尔斯坦。您提到的“类似于”关闭程序并重新打开。静态呢?是否确保通过web.config编辑清除静态?原因是我在静态变量中缓存了一些web.config的东西。老实说,我不再是这方面的好信息来源了。当我回答时,我正在全天使用IIS和ASP.Net。“这些天我只是一个软件开发爱好者。”@DirkBoer我来这里的全部原因是为了找到你问题的最终答案。根据我的经验,编辑web.config不会影响静态属性。