C# CacheManager和Dispose
我将使用应该为我处理缓存的。 我必须什么时候处理它 是否意味着每次使用using语句访问缓存时都要创建它 在这种情况下,我每次都必须编写初始化C# CacheManager和Dispose,c#,caching,dispose,cachemanager,C#,Caching,Dispose,Cachemanager,我将使用应该为我处理缓存的。 我必须什么时候处理它 是否意味着每次使用using语句访问缓存时都要创建它 在这种情况下,我每次都必须编写初始化 var cache = CacheFactory.Build("cache1", settings => { settings .WithSystemRuntimeCacheHandle("handle1") .EnablePerformanceCounters() .With
var cache = CacheFactory.Build("cache1", settings =>
{
settings
.WithSystemRuntimeCacheHandle("handle1")
.EnablePerformanceCounters()
.WithExpiration(ExpirationMode.Absolute, TimeSpan.FromMinutes(10));
});
或者我应该如何使用/处置它?实际上,我收到了代码分析警告,要求我处理它。答案是否定的 您不希望处置CacheManager实例。更常见的是在应用程序中保留它的静态实例,并且只创建一次CacheManager 这是因为创建CacheManager和句柄(创建缓存客户机实例并可能打开到分布式缓存的连接)非常昂贵,而且只能执行一次。从那时起,它应该作为一个静态引用工作并保持不变 简单地使用IoC容器并将其注册为singleton也是一种很好的做法。然后IoC容器可能会以任何方式为您处理处理 是否意味着每次使用using语句访问缓存时都要创建它
不,不应该这样做。我确实认为您会处理它,因为它会自动处理。可能我们可以在应用程序关闭时进行处理