c# – 如何处理多个Web应用程序的BL缓存?

我最近收到了一个项目,其中包含多个没有MVC结构的Web应用程序.对于初学者,我创建了一个包含主要业务逻辑的库(DLL).问题在于缓存 – 如果我使用当前的Web上下文缓存对象,那么最终可能会出现重复缓存(因为每个应用程序的Web上下文都不同).

我目前正在考虑实现一个简单的缓存机制,该机制具有单一模式,允许不同的网站(也称为不同的应用程序域)共享他们的“缓存智慧”.

我想知道解决这个问题的最佳方法是什么.

编辑:我只使用一个服务器(具有多个应用程序).

最佳答案 根据您要缓存的数据的类型和大小,我建议:

>对于少量原始数据:nCacheD(codeplex) – 用于.net的memcached redux
>对于重量级对象:MS模式和实践缓存块(msdn)

总的来说,我会查看我的要求,并确保真正需要一个包罗万象的缓存,编写代码来维护其状态(并调整其资源消耗)并不比直接访问数据库更昂贵.
如果你想要缓存的大多数东西是静态页面,或静态和&组合.动态内容,我会考虑利用IIS / ASP.NET的页面级缓存.

点赞