【问题标题】:Cannot prevent recycling in IIS 8.5 on windows server 2012无法阻止 Windows Server 2012 上的 IIS 8.5 中的回收
【发布时间】:2015-03-10 08:54:00
【问题描述】:

我在 Windows Server 2012 的 IIS 8.5 上部署了 Web ASP.NET 应用程序。 我们的网站是为了在 RAM 中存储一些数据而开发的。问题是 IIS 每 30 分钟或有时 15 分钟等回收 Web 应用程序的池。一旦清除 RAM 中的所有数据,就会导致应用程序无法正常工作。 我已取消选中 IIS 中池的回收条件中的所有选项,但没有解决任何问题。 希望有人能帮忙。

感谢和问候,

【问题讨论】:

  • 尝试在配置中启用 logEventOnRecycle 属性,以更好地了解为什么您的应用每 30 分钟回收一次。 iis.net/configreference/system.applicationhost/applicationpools/…
  • 您可以永远完全阻止回收利用。您的应用必须在存在回收利用的情况下正常工作。想想重启、崩溃、部署……
  • “一旦清除 RAM 中的所有数据,应用程序就无法正常工作”——然后应用程序就坏了。正如@usr 所说,你不能完全避免回收,所以如果应用程序是基于这个假设构建的,那就是一个错误。
  • 您存储在 RAM 中的数据的性质是什么?在大多数情况下,将数据存储在其他地方,例如数据库或缓存,将使您的应用程序在回收时不会出现问题。如果数据与用户的会话相关,将其存储在 Web 应用程序外部也将有助于您扩展应用程序 - 例如使用负载平衡。
  • 我重复 Alan 的问题:您存储在 RAM 中的数据的性质是什么?取决于此,Preserving ASP.NET Application State Across Restarts 可能是您所需要的。

标签: c# asp.net iis


【解决方案1】:

作为一般实践,您的应用程序架构应该能够处理回收、重启、部署等。但是,如果您需要保持活动状态,作为权宜之计,您可以设置 Windows 计划任务以您需要的时间间隔点击该应用程序上的任何网址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    相关资源
    最近更新 更多