【问题标题】:What happens when I save changes to web.config with a live app?当我使用实时应用程序保存对 web.config 的更改时会发生什么?
【发布时间】:2010-02-04 19:37:22
【问题描述】:

当我在应用程序运行时保存对 web.config 的更改时会发生什么?我问的原因是我现在正在开发一个建立在电子商务平台之上的网站/网络应用程序。在看似随机的时间间隔内,该站点将停止响应。应用程序池的进程是正常的(发生这种情况时没有荒谬的内存或 CPU 使用)。当我对 web.config 进行一些小的更改时(例如添加空格或删除空格,然后保存),该站点似乎又回来了。我认为通过更多地了解保存后的事件顺序,我可以缩小问题的潜在原因。

编辑:我应该提到我们在 IIS 6 上运行。

【问题讨论】:

  • 是问题 - “为什么在我保存 Web.Config 后 AppPool 会回收?”或者,它是 - “我的网络应用程序因未知原因停止响应,但回收 AppPool 解决了它。我该如何诊断?”
  • 问题是,“当我保存 web.config 时会发生什么?”答案是“AppPool 被回收了吗?”我不知道是不是这样,除非 AppPool 的进程 ID 保持不变。
  • 是的,AppDomain 被回收了。每个 AppDomain 只读取一次配置文件。需要回收 AppDomain 才能使配置文件中的更改生效。
  • @Jacob:这不是真的。部署新内容时,AppDomain 不会重新启动 - 除非新内容包含新的 web.config,或更改 bin 文件夹的内容。
  • @John:感谢您的澄清。我没有意识到它只是程序集或 web.config。

标签: .net web-config


【解决方案1】:

这是预期的行为。它正在运行的 AppDomain 停止接受新的工作,并开始一个新的工作。

【讨论】:

  • 所以您认为可能是 AppDomain 中的某些内容导致站点无响应?我只是想知道为什么我没有看到高 CPU 使用率或内存使用率,但是在对 web.config 进行更改之前,该站点根本不会响应。
  • "AppDomain 中的某些内容" - 所有内容 都在 AppDomain 中。所有的代码。所有的数据。所以,是的,“AppDomain 中的某些东西”正在破坏。
  • 我想说,如果回收 appdomain 可以修复您的应用,那么您的应用中的某些内容会挂起或没有响应。
猜你喜欢
  • 2010-09-15
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多