【问题标题】:Mechanics of ASP.NET Cache Expiration?ASP.NET 缓存过期的机制?
【发布时间】:2011-08-01 16:32:04
【问题描述】:

我有一个任务,我想每天早上 8 点运行,我正在考虑这个解决方案:https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

但我不了解它的工作原理。

假设用户 X 在星期五下午 4 点访问了该网站,然后关闭了浏览器并关闭了计算机。缓存到期还会在周六早上 8 点触发吗?如果没有用户访问该站点,我的进程还会每天触发吗?

基本上,我的问题归结为,这种方法可靠吗?还是取决于访问该网站的用户?

【问题讨论】:

    标签: asp.net cache-expiration


    【解决方案1】:

    ASP.NET 应用程序在 IIS 上托管(启动)时会触发很少的事件,其中 Application_Start 是最重要的事件之一。设置后台任务然后继续运行,直到应用程序从 IIS 停止/卸载,或 IIS 服务本身停止。 IIS 是所有 ASP.NET 网站的宿主进程。

    由于缓存是在 Web 服务器上维护的,它与活动用户无关。

    这类似于控制台应用程序,其中第一行代码使用计时器将某些内容添加到缓存中。只要您的控制台应用程序启动并运行,它就会运行。

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      服务器端缓存与浏览器缓存不同。关闭浏览器的用户根本不会影响 Jeff 的代码。但是,如果您的应用程序池关闭(如果没有任何用户访问该站点,则可能)那么您的代码将根本不会运行,直到有人浏览该站点,应用程序池再次启动,然后是上午 8 点第二天(假设应用程序池仍在运行)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-27
        • 2013-02-10
        • 1970-01-01
        • 2013-06-21
        • 1970-01-01
        • 1970-01-01
        • 2010-11-28
        • 2010-09-21
        相关资源
        最近更新 更多