如何访问HttpRuntime.在同一解决方案中的另一个项目中缓存
本文关键字:解决方案 另一个 缓存 项目 何访问 访问 HttpRuntime | 更新日期: 2023-09-27 17:52:14
我在一个解决方案[LDM
]中有两个项目[主项目,数据访问项目]。
主项目包含页面,脚本,图像等
数据访问项目只包含数据库操作
我需要访问数据访问项目中的HttpRuntime.Cache
。
我怎么能那样做??
将HttpRuntime.Cache
传递给需要访问的DAL class
。你可以把它作为参数传递给方法的构造函数。
void SomeMethodInDal(HttpRuntime.Cache httpRuntimeCache)
{
}
您最好将所需的信息从HttpRuntime.Cache
传递到DAL,而不是传递HttpRuntime.Cache
您应该想知道为什么要使用Asp。网络缓存在您的DAL。实际上,分层是因为您希望区分用户界面和数据访问,以保持代码中的低耦合。如果您只需要DAL访问缓存,请在DAL中定义一个缓存公共接口:
public interface ICache {
Object GetItem(String key);
void SetItem(String key, Object item);
}
然后,在表示层创建一个实现:
public class PlCache : ICache {
public Object GetItem(String key) {
return HttpRuntime.Cache.Get(key);
}
public void SetItem(String key, Object item) {
// TODO: you insert code
}
}
最后,在DAL中,可以使用:
void DoSomething(ICache cache)
{
}
在PL中你可以调用DoSomething(new PlCache())
;
如果在您的DAL中您只需要任何缓存实现,您可以使用System.Runtime.Caching.MemoryCache.