8
|
Per Hornshøj-Schierbeck · 技术社区 · 17 年前 |
![]() |
1
9
我认为,最佳解决方案应具有以下特点:
因此,我将使用IOC策略,以允许类库根据运行环境使用不同的缓存实现。 假设您将抽象缓存契约定义为:
您可以提供基于System.Web的实现:
然后将该实现“发布”为singleton。请注意,与原始方法的不同之处在于,singleton只是对基于ASP.NET缓存服务的实现的引用,而不是完整的“缓存对象”。
您必须通过执行延迟初始化或在应用程序启动时(在global.asax.cs中)初始化chaching实现。 而且每个域组件都可以使用发布的缓存服务,而不知道它是基于System.Web实现的。
我同意这可能不是最简单的解决方案,但我的目标是在不牺牲代码去耦和灵活性的情况下利用ASP.NET缓存实现。 我希望我理解你的问题。 |
![]() |
2
1
只要缓存仍然包含对数据的引用,数据就不会被垃圾收集。 另外,不要使用单件。 |
![]() |
tincho87 · 避免Javascript/Css缓存 7 年前 |
![]() |
Zac · 如何强制客户端重新下载我的网站? 7 年前 |
![]() |
Kumar · bitbake清理使用只读NFS SSTATE缓存失败 7 年前 |
![]() |
Chris Williams · 休眠/JPA缓存查找值 7 年前 |
![]() |
Nymeria · 仅绑定到当前事务的Spring缓存 7 年前 |