热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[转]ASP.NET缓存(十八)从缓存中删除项时通知应用程序

ASP.NET提供CacheItemRemovedCallback委托。它定义编写事件处理程序时使用的签名,当从缓存中删除项时,该事件处理程序将进行响应

ASP.NET 提供 CacheItemRemovedCallback 委托。它定义编写事件处理程序时使用的签名,当从缓存中删除项时,该事件处理程序将进行响应。ASP.NET 还提供 CacheItemRemovedReason 枚举,您可以使用该枚举使事件处理程序依赖于删除该项的原因。

当从缓存中删除某项时通知应用程序

  1. 创建引发 CacheItemRemovedCallback 委托的事件的局部变量。例如,下面的代码创建类型为 CacheItemRemovedCallbackonRemove 局部变量。

    注意   该变量必须为此类型,以便用于第四步中 Cache.AddCache.Insert 方法的 onRemoveCallback 参数。
  2. 创建一个当从缓存中移除该项时进行响应的事件处理程序。例如,下面的代码将静态 Boolean itemRemoved 设置为 true,将静态 CacheItemRemovedReason reason 设置为当从缓存中移除该项时传递的值。
    注意   使用 CacheItemRemovedReason 枚举的成员为此步骤中的方法创建条件代码是您可以选择的一种方法。

    注意   该事件处理程序必须使用与 CacheItemRemovedCallback 委托相同的签名。此代码假设您已创建了两个静态变量:类型为 BooleanitemRemoved 和类型为 CacheItemRemovedReasonreason
  3. 创建调用事件处理程序的 CacheItemRemovedCallback 委托的实例。下面的代码调用第二步中创建的方法。

  4. 使用 Cache.Add 方法或 Cache.Insert 方法将项添加到 Cache 中。您必须在 onRemoveCallback 参数中指定第一步中创建的局部变量。下面的代码使用 Insert 方法将项添加的缓存中,该项的键为 "MyData1",值为 Source。它在 onRemoveCallback 参数中定义 onRemove 变量。

    当第四步中添加的项由于任何原因从 Cache 中移除时,将调用 RemovedCallback 方法,并且可以访问它其中的代码以将新内容呈现到请求客户端或以一种您选择的适当方式通知应用程序。

    有关完整的工作示例,请参见 CacheItemRemovedCallback 委托的文档。




推荐阅读
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 本文详细介绍了如何在 MySQL 中授予和撤销用户权限。包括创建用户、赋予不同级别的权限(如表级、数据库级、服务器级)、使权限生效、查看用户权限以及撤销权限的方法。此外,还提供了常见错误及其解决方法。 ... [详细]
  • 本文详细介绍了SDCMS中的全局标签和循环标签。全局标签是在任何模板页面中均可调用的标签,而循环标签用于数据查询和展示。文章解释了这些标签的功能、使用方法及参数配置。 ... [详细]
  • MySQL InnoDB Double Write机制详解
    本文深入探讨了MySQL InnoDB存储引擎的Double Write技术,该技术通过在内存和磁盘上创建数据页的副本,确保了部分写失效(Partial Page Write)情况下的数据完整性和可靠性。同时,文章介绍了InnoDB以页为单位进行读取和更新的机制,并详细解析了Double Write的工作原理。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 如何解决Windows 7桌面图标显示异常的问题
    本文提供了多种有效的方法来解决Windows 7系统中桌面图标显示为未知文件图标的问题,包括更换个性化主题、清理图标缓存等。 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • Java 架构:深入理解 JDK 动态代理机制
    代理模式是 Java 中常用的设计模式之一,其核心在于代理类与委托类共享相同的接口。代理类主要用于为委托类提供预处理、过滤、转发及后处理等功能,以增强或改变原有功能的行为。 ... [详细]
author-avatar
史军2927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有