【问题标题】:Can you modify the web.config and NOT restart the ASP.NET application? [duplicate]您可以修改 web.config 并且不重新启动 ASP.NET 应用程序吗? [复制]
【发布时间】:2011-01-10 10:32:15
【问题描述】:

可能重复:
How to prevent an ASP.NET application restarting when the web.config is modified?

只是在考虑正常运行时间。谢谢。

【问题讨论】:

  • 如果您关心正常运行时间,也许应该将存储在那里的设置移动到其他地方。你在改变什么?它必须在 web.config 中吗?
  • 在动态更改 web.config 时,需要考虑的不仅仅是 asp.net 应用程序重启...

标签: asp.net web-config appdomain application-pool application-restart


【解决方案1】:

您可以创建一个外部设置文件,然后在您的 web.config 中引用它。您需要在 machine.config 文件中将属性“restartOnExternalChanges”更改为 false。

见: http://msdn.microsoft.com/en-us/library/ms228057.aspx

【讨论】:

    【解决方案2】:

    您可以在不同的 IP 地址/主机名上设置重复的 IIS 容器。对新版本进行修改,然后交换ip。它摆脱了应用程序重新启动的编译时间。但是,如果您依赖进程内会话,那么任何当前用户都会出错。

    最安全的选择是让它重新启动,然后选择一个好时机来做。您还可以设置编译批处理 = false。这也可以加快关键系统的编译时间。

    【讨论】:

      【解决方案3】:

      是的,你可以;见this answer

      但是,这不是一个好主意。
      在 ASP.Net 重新启动 AppDomain 之前,它不会查看 web.config
      如果您更改web.config,您的更改将在 AppDomain 重新启动之前生效。

      【讨论】:

        【解决方案4】:

        当您修改 wed.config 时,应用程序池将重置,您将丢失服务器上存储的所有会话信息。

        【讨论】:

        • @downvoter:嗯,好吧..所以你不认为重置应用程序池是一件坏事吗?
        猜你喜欢
        • 2010-10-11
        • 1970-01-01
        • 2010-09-07
        • 2010-11-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多