CacheManager和Dispose

时间:2015-04-02 23:20:55

标签: c# caching dispose cachemanager

我将使用CacheManager来处理我的缓存。  我什么时候需要处理它?

是否每次使用using语句访问缓存时都会创建它?

在这种情况下,我每次都要写初始化?

var cache = CacheFactory.Build("cache1", settings =>
{
    settings
        .WithSystemRuntimeCacheHandle("handle1")
            .EnablePerformanceCounters()
            .WithExpiration(ExpirationMode.Absolute, TimeSpan.FromMinutes(10));
});

或者我该如何使用/处理它?我实际上正在收到代码分析警告,我应该将其丢弃。

1 个答案:

答案 0 :(得分:0)

答案是否定的;)

您不想处置CacheManager实例。在应用程序中保留它的静态实例并且只创建一次CacheManager是更常见的。

这是因为创建CacheManager和创建缓存客户端实例并可能打开与分布式缓存的连接的句柄非常昂贵,而且必须只进行一次。从那以后,它应该起作用并保持静态参考。

简单地使用IoC容器并将其注册为单例也是一种很好的做法。然后,IoC Container可能会为您处理。

  

是否每次使用using语句访问缓存时都会创建它?

不应该这样做。