到期时自动刷新 ASP.NET 输出缓存

2023-11-30

我有一些昂贵的页面,我使用 ASP.NET 输出缓存进行缓存,如下所示,

[OutputCache(Duration=3600, VaryByParam = "none")]

显然,缓存将在 3600 秒(1 小时)后过期,下一个碰巧加载该页面的可怜人将不得不等待数据库刷新缓存。

我的问题是,如何使缓存在到期时立即刷新?这样,下一个在缓存刚刚过期时访问该页面的人就不必等待缓存刷新,而是使用新的缓存来提供服务?

更新:我需要频繁更新缓存(1 小时到 3 小时),因为我也不希望数据陈旧太久。


我不认为您可以仅使用以下内容来实现您所需要的OutputCache.

基本上你需要数据存储和工作人员。对于存储,您可以使用从静态变量到外部数据库的任何内容。

工人也是如此。它可能只是简单的长时间运行的任务或外部服务。基本示例,这样您就可以了解我在说什么

public class TestController : Controller
{
    private static int _result = 0;


    static TestController()
    {
        Task.Factory.StartNew(async () =>
        {
            while (true)
            {
                await Task.Delay(new TimeSpan(0, 0, 5));
                _result++;
            }

        }, TaskCreationOptions.LongRunning);
    }

    public ActionResult Index()
    {
        return Json(_result, JsonRequestBehavior.AllowGet);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

到期时自动刷新 ASP.NET 输出缓存 的相关文章

  • 有没有更好的方法使用 MVC 4 和 Entity Framework 5 添加子记录?

    我正在学习 MVC 并结合实体框架处理其无状态性质 我的问题是 有没有更优雅的方式来处理下面的场景 我有两个 POCO 实体 public class Contest public long ID get set public IColle
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • 如何将 Orchard CMS 与当前的 MVC2 应用程序集成?

    对于我的项目 客户端有一个现有的 ASP NET MVC 2 Web 应用程序 该应用程序具有产品目录和购物车功能 客户正在重新设计他们的网站 并希望使用 Orchard 来维护他们的内容页面 例如主页 关于 服务等 他们希望尽可能多地使用
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 如何从内容页检索母版页中的控件

    当我最近问一个关于如何从内容页检索母版页中的控件 许多人建议我使用内容页面中的这段代码 Label lbl this Master Page FindControl uxLabel as Label Note any server cont
  • 阻止未确认电子邮件的用户使用 Identity 2 登录 ASP.Net MVC

    在 Microsoft Identity 2 中 用户可以确认我从以下位置下载了 Identity 2 示例项目的电子邮件地址here https www nuget org packages Microsoft AspNet Identi
  • Page_ClientValidate 未定义

    我正在使用 ASP NET 2 0 并使用 IE8 作为我的默认浏览器 但无论我尝试多少次 Page ClientValidate一直给我这个错误 它没有定义 我怎么解决这个问题 请帮忙 所以 我想你的页面中可能没有任何RequiredVa
  • asp.net mvc:将 RedirectToAction(string, object) 转换为 RedirectToAction(x => x.Detail(id))

    任何人都知道如何创建一个方法 我将把它放在扩展类中 该方法将仅使用表达式 无魔术字符串 与 mvc 的 RedirectToAction 执行相同的操作 所以不要写这样的东西 RedirectToAction Detail new Rout
  • Visual Studio 智能感知搞砸了

    所以我是 MVC4 和 C 的新手 我已经设计这个网站大约两周了 智能感知没有任何问题 两天来 Visual studio 告诉我 Viewbag 和其他 命令不是我的项目的一部分 我可能错过了一些东西 或者它告诉我 Viewbag 在当前
  • 您可以运行一个从 ASP.Net 项目运行计划任务的“服务”吗?

    我为我们的客户构建了一个 Windows 服务 它从数据库中收集所有已更改 新的行 将它们转换为 CSV 然后每晚通过 FTP 将它们上传到某个地方 现在事实证明 他们无权安装或运行 Windows 服务 这是一个仅 Web 路径托管的解决
  • 如何从 Web API 应用程序返回 PDF

    我有一个在服务器上运行的 Web API 项目 它应该从两种不同类型的源返回 PDF 实际的可移植文档文件 PDF 和存储在数据库中的 base64 字符串 我遇到的问题是将文档发送回客户端 MVC 应用程序 剩下的部分是关于所发生的一切以
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • 锚标记 href 中的 eval

    我想要实现的目标是在锚标记的 href 中使用 Eval 作为参数 锚点嵌套在转发器内 为什么我不能使用后面的代码来实现这一点 我尝试了一些事情但没有运气 a href http MyWebsite ActiveUsers ID Inser
  • 在javascript中访问隐藏字段值

    我的表单中有一个隐藏字段 我正在服务器上设置隐藏字段的值并尝试从 javascript 访问该值 我收到错误 无法获取属性 值 的值 对象为 null 或未定义 如果我查看源代码 则会设置隐藏字段值 并且隐藏字段的 ID 与我正在调用的 I
  • 执行 SET {Key} 超时,inst: 0,mgr: Inactive,queue: 2, qu=1, qs=1, qc=0, wr=1/1, in=0/0

    我正在尝试使用 StackExchange Redis 客户端将 90 KB pdf 文件保存到 Azure Redis 缓存中 我已将该文件转换为字节数组并尝试使用 stringSet 方法保存它并收到错误 Code byte bytes
  • 缺少添加控制器/视图的上下文菜单

    我已将 ASP NET MVC 4 集成到现有的 asp net 网站中 两者都工作正常 但我没有看到任何菜单 快捷方式来在 Visual Studio IDE 中创建控制器 视图 这些仅适用于 ASP NET MVC 模板吗 这些仅适用于
  • GeneratePasswordResetTokenAsync 和GenerateUserTokenAsync 的默认TokenLifespan 是多少

    我到处都找过 但似乎无法确定每个选项的默认值是什么 我还需要知道是否有办法为每个设置不同的寿命 谢谢 对于任何令牌来说 默认值显然都是 24 小时 您可以将其设置为不同的值 但相同的值将同等地应用于所有令牌 GenerateEmailCon
  • 当集合提交回控制器时,未将对象引用设置为对象的实例。错误

    我正在更新多条记录 单击提交按钮后出现错误 这表明控制器收到 NULL 并在第 36 行报告以下错误 下面是我的控制器 视图和模型的代码 你调用的对象是空的 描述 执行当前 Web 请求期间发生未处理的异常 请检查堆栈跟踪 有关该错误及其起
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a

随机推荐

  • Codeigniter 中的计数器

    我有下面的代码 一步步 Put counter txt in APPPATH logs counter txt Make counter helper php set in APPPATH helpers counter helper ph
  • 检查字典中是否存在某个单词未找到任何单词

    我想查找字典是否包含该单词 来自列表的单词通过循环递增 如果您没有在下面收到问题评论 请提出建议 n int input d for i in range n text input split d text 0 text 1 list fo
  • C++ - 编译在调用 std::thread 中的重载函数时失败

    考虑以下场景 实用程序 h include
  • 使用 CreateProcessAsUser 将焦点集中到从系统服务启动的窗口

    我有一个系统服务 可以使用该方法启动应用程序CreateProcessAsUser 此服务使用模拟在活动会话中启动应用程序 应用程序正在按预期启动 我设法使用以下命令使窗口出现在前面 SetWindowPos this gt wndTopM
  • Excel 2007 VBA根据文本过滤器复制行x次

    我是 VBA 新手 无法理解最有效的方法 我正在寻找一种根据频率将数据复制到活动单元格下方的行中的方法 样本数据是这样的 Name Value Frequency Date Steve 10 Annual 01 03 2012 Dave 2
  • 是否有适用于 Java 的 HttpCahce 客户端库?

    我已经asked关于 android 的这个问题 但我将扩大问题范围以包括一般的 java 是否有任何库用于实现 Http 缓存 我想更有效地下载我的图像 尊重 If Modified Since etags 等 我确信有一个库可以将图像的
  • 根据字典替换文本

    我需要做一些类似于这篇文章的事情 但有所不同 这就是我问的原因 unix shell 用字典替换 我有一本字典 dict txt 它是用空格分隔的 内容如下 V7动力 B6 广达 从某种意义上说 第一列是键 第二列是值 我有一个用户文件 u
  • 2 个意图过滤器,1 个活动 - 哪个打开了它?

    有没有办法知道哪个 Intent Filter 负责启动一个在 AndroidManifest xml 中定义了两个 Intent Filter 的 Activity 我想要一套稍微不同的逻辑 但还不足以需要一个全新的活动 Thanks 没
  • 如何在 kivy 中按下按钮时更改按钮的背景颜色?

    我的应用程序有一个带有默认背景颜色的按钮 我只想将其背景颜色更改为另一种颜色on press事件 您可能会认为它类似于 html 的已访问和未访问的超链接 即当单击链接时 它会更改其颜色 我的尝试 usr bin kivy import k
  • 从评论中提取电话号码

    我有一个专栏 其中有评论 超过 5000 个案例 这些评论有文字 数字 日期等等 我需要从这些评论中获取电话号码 每条评论的电话号码都是随机的 所以LEFT MID or RIGHT不管用 我达到的最接近的结果是 Kutools EXTRA
  • 重新审视浮点比较

    这个话题在 StackOverflow 上已经出现过很多次了 但我相信这是一个新的话题 是的 我已经读过布鲁斯 道森的文章 and 每个计算机科学家都应该了解的浮点运算知识 and 这个很好的答案 据我了解 在典型的系统上比较浮点数是否相等
  • 为什么接口方法调用比具体调用慢?

    当我发现抽象类和接口之间的区别时 我想到了这个问题 在这个帖子我开始知道接口很慢 因为它们需要额外的间接 但我不知道接口需要什么类型的间接 而不是抽象类或具体类所需的间接类型 请澄清一下 提前致谢 有许多性能神话 有些可能在几年前是正确的
  • 如何使用 jQuery 防止 ajax 请求遵循重定向

    我使用 jQuery ajax 函数访问 Web 服务 但服务器没有返回带有描述问题的状态代码的响应 而是将请求重定向到带有 200 标头的页面 描述问题 我无法对此进行任何更改 因此我需要以某种方式在客户端上解决它 例子 请求转到某个未找
  • 如何使用Google Drive API获取最后修改的用户信息?

    In Google Apis Drive v2 Data File类它只提供最后修改用户的名称 如何获取用户的完整信息 如电子邮件 用户 ID 等 var service new DriveService auth Google Apis
  • 如何在 Mac OS ( OS X 10.10) 中安装 php-cgi 作为插件?

    我想在 My 上进行 PHP 工作Mac book 然而 我安装后PHP风暴 并告诉PHP解释器的位置 它会导致错误 php cgi not found Please ensure that configured PHP Interpret
  • 如何从 Visual Studio Team Services 将静态网站部署到 Azure

    我有一个想要部署的现有网站Azure using Visual Studio 团队服务 该网站由静态文件组成 不涉及 ASP NET 或其他任何内容 在 Visual Studio Team Services 中 我创建了一个执行的构建np
  • cv::add 在 openCV 中不起作用

    我尝试构建 10 帧的平均值 因此我尝试了 cv Mat frame outf resultframe1 resultframe2 VideoCapture cap 1 cap gt gt frame resultframe1 Mat ze
  • 重写 JS 中的图像构造函数?

    是否可以覆盖ImageJS 中的构造函数 因此 例如 每次new Image 创建后 一条消息会写入控制台吗 尝试这个 function var OriginalImage window Image window Image functio
  • Cocoa:带有用于切换选项卡的工具栏图标的选项卡视图

    各种首选项对话框 Safari Mail Xcode4 和任何使用 NSPreferences 的对话框 和 Xcode4 的组织器使用让人想起选项卡视图的东西 只不过它使用工具栏按钮在选项卡之间切换 这些按钮被 按下 实现这种选项卡视图的
  • 到期时自动刷新 ASP.NET 输出缓存

    我有一些昂贵的页面 我使用 ASP NET 输出缓存进行缓存 如下所示 OutputCache Duration 3600 VaryByParam none 显然 缓存将在 3600 秒 1 小时 后过期 下一个碰巧加载该页面的可怜人将不得