为什么一个缓存依赖不能应用于多个缓存项呢?

Yanbin_Q 2010-06-03 02:49:49
多个缓存项同时依赖于一个缓存依赖,实际上应该没什么逻辑问题,比如文件 "c:\\test.txt" 变动时需同时清理多个缓存项。

例如页面这样写

private static CacheDependency dependercy = new CacheDependency("c:\\test.txt");
protected void SetCacheBtn_Click(object sender, EventArgs e)
{
Cache.Insert("key1","This is the Cached Data",dependercy);
Cache.Insert("key2", "This is the Cached Data", dependercy);
}

执行的时候报错:

An attempt was made to reference a CacheDependency object from more than one Cache entry.

即使设定一个失效时间的情况下,某个缓存被移除了,原来那个缓存依赖也可能无法重用,必须重新创建一个新的 CacheDependency 实例。

Cache 是怎么记录与缓存依赖的关联关系的,如缓存被移除后,怎么移除掉 Cache 与缓存依赖之间的依赖关系。
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
phoebuswei 2010-06-04
  • 打赏
  • 举报
回复
你要是常用 的缓存可以把它放到Application中
这样就可以了
zhouwei7682719 2010-06-03
  • 打赏
  • 举报
回复
我是来学习的!
加油馒头 2010-06-03
  • 打赏
  • 举报
回复
是不是 static 的原因?
  • 打赏
  • 举报
回复
OutputCache是提高服务器效率的核心技术,可是它如此简单、丑陋、缺乏起码的自动化功能,实在是.......唉,不过我早在去年就决定今后弃 asp.net 而使用 silverlight 了,asp.net只是用来做web应用的快速原型,所以对那种动不动就创建控件树而尽可能先用自动化Cache顶上程序流程的笨重做法也就无所谓了。
  • 打赏
  • 举报
回复
asp.net的缓存技术多年来(5年来)几乎没有什么长进,可能是asp.net的老大的一个失误。

asp.net缺乏很关键的输出缓存自动化的机制,例如UpdatePanel应该可以自动缓存内容而不需要我们去设计什么OutputCache。

它可以在Render时去记录需要监视的内部控件ID列表,然后仅仅在下一次 PostbackData 时发觉前台提交数据有改变才去真正创建 UpdatePanel 内部的控件,并且后台代码当要修改内部控件时可以先使用一个类似 UpdatePanel1.EnsureChildControls() 的方法才创建内部控件,这就会让我们的asp.net编写起来很轻松而服务器端运行速度快至少好几倍。

可惜微软似乎这些年根本没有在输出缓存技术上投资,跟asp.net其它技术相比实在是不相称。
  • 打赏
  • 举报
回复
可能因为asp.net项目组觉得已经简单好用了吧,没有必要在性能高不了多少时去增加新的功能了吧!

其实我比较多地是使用
public CacheDependency(string[] filenames, string[] cachekeys)
这个实例化方法,即依赖Cache中的一个单元来触发。例如当我发觉“汽车板块新闻”发生变动时,只要写一句
Cache["汽车板块新闻最后更新时间"]=DateTime.Now.Ticks;
这样所有依赖于“汽车板块新闻最后更新时间”这个cachekey的 CacheDependency 就全都被触发了。
HolyPlace 2010-06-03
  • 打赏
  • 举报
回复
内置创建副本?
huangmin3956 2010-06-03
  • 打赏
  • 举报
回复
我乃防沉者: 学习 因为不懂
内容概要:本文围绕“基于需求侧响的配电网供电能力综合评估研究”展开,结合Matlab代码实现,复现并创新改进了硕士论文中的核心模型与算法。研究重点在于考虑需求侧响机制对配电网供电能力的影响,通过构建综合评估体系,量化分析用户侧灵活性资源(如可中断负荷、电价响等)在提升电网承载力、优化运行效率方面的潜力。文中详细阐述了模型构建过程,包括目标函数设定、约束条件处理、不确定性因素建模,并采用先进的优化算法进行求解,实现了对典型配电网(如IEEE33节点系统)的仿真验证,有效提升了供电能力评估的准确性与实用性。; 适合人群:具备电力系统基础知识和Matlab编程能力,从事智能电网、需求响、配电网规划与优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握需求侧响在配电网中的建模方法与实现路径;② 学习如何利用Matlab进行电力系统优化模型的构建与仿真分析;③ 借鉴创新改进思路,用于自身课题中关于供电能力评估、负荷优化调度等问题的研究。; 阅读建议:建议读者结合提供的Matlab代码逐行理解算法实现细节,重点关注需求响模型与供电能力评估指标的耦合关系,并尝试在不同场景下调整参数或扩展模型结构以深化理解。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧