asp.net-mvc – 如何使用ASP.NET MVC实现自定义缓存提供程序
我正在将
MonoRail应用程序迁移到
ASP.NET MVC 1.0.在我的原始应用程序中,我写了一个自定义缓存提供程序(使用
memcached的分布式缓存提供程序).在MonoRail中,这个任务非常简单,因为框架使用了界面,并且有这样的
ICacheProvider:
public interface ICacheProvider : IProvider,IMRServiceEnabled { void Delete(string key); object Get(string key); bool HasKey(string key); void Store(string key,object data); } 每个控制器动作都可以使用此接口的实例.所以,我只需要实现一个使用memcached和tell的自定义缓存提供程序 在ASP.NET MVC 1.0中,有一个定义HttpContextBase的System.Web.Abstractions程序集(名称看起来很有前途): public abstract class HttpContextBase : IServiceProvider { ... public virtual System.Web.Caching.Cache Cache { get; } ... } 我不明白这里使用的Cache属性是缓存提供程序的抽象.这是传统密封的Cache课程.看来,我不是struggling to mock在框架中唯一的课. 我对ASP.NET MVC框架非常新,我必须在这里遗漏一些东西.我可以编写一个CustomBaseController,它使用我定义的ICacheProvider接口 解决方法
缓存没有官方的抽象或提供者,但可以轻松构建一个:
> http://weblogs.asp.net/zowens/archive/2008/08/04/cache-abstraction.aspx ASP.NET 4.0包括一个output cache provider abstraction(AFAIK不是一般的缓存抽象,而只是用于输出缓存) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在我的asp.net MVC解决方案中保持脚本文件夹
- asp.net-web-api – Web API和.NET 4.5:声明和权利
- asp.net-mvc – 如何在我的Asp.net Mvc中使用linq2sql存储库
- IIS错误 – 无法运行两个不同版本的ASP.NET
- asp.net-mvc – Asp.net MVC页面构建的最佳实践是什么,允许
- asp.net-mvc-4 – 如何在jQUERY中传递Id
- asp.net-mvc – 防止在asp.net MVC 3中验证部分表单
- Asp.net URL重写
- asp.net-mvc – Web项目需要使用Razor语法3.0.0.0缺少Web组
- 在ASP.net Pages中在源视图和设计视图之间移动的快捷键