【发布时间】:2011-07-16 18:36:25
【问题描述】:
也许这是在做梦,但是是否可以创建一个属性来缓存函数的输出(例如,在 HttpRuntime.Cache 中)并从缓存中返回值,而不是在函数的参数时实际执行函数一样吗?
当我说函数时,我指的是任何函数,它是否从数据库中获取数据,是否添加两个整数,或者是否吐出文件的内容。任何功能。
【问题讨论】:
-
也许你在谈论嘲笑?
-
我想知道使用
dynamic来实现这有多可行。创建一个接受动态调用的包装器,调用实际对象并将结果缓存起来。 -
@Matt Greer 你不需要动态来实现这样的事情,因为你已经接受放弃使用 AOP 来做这件事。我创建了一个基类
Cacheable<T>,你所做的就是从它继承,定义一个缓存区域并给它一个关于如何在缓存未命中时加载缓存的 lambda 语句。 -
@Chris Marisic -- 你介意分享你的
Cacheable<T>课程吗?我想看看。 -
@PostgresQLNewb:我用今天找到的新链接更新了我的旧答案,以防你仍然对这些东西感兴趣