如何访问HttpRuntime.在同一解决方案中的另一个项目中缓存

本文关键字:解决方案 另一个 缓存 项目 何访问 访问 HttpRuntime | 更新日期: 2023-09-27 17:52:14

我在一个解决方案[LDM]中有两个项目[主项目,数据访问项目]。

主项目包含页面,脚本,图像等

数据访问项目只包含数据库操作

我需要访问数据访问项目中的HttpRuntime.Cache

我怎么能那样做??

如何访问HttpRuntime.在同一解决方案中的另一个项目中缓存

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.
相关文章: