C# 在企业库中设置实体的最大寿命';s缓存块?
在我的应用程序中,我想将一些项添加到缓存中,但这些项最多应该有一天的时间C# 在企业库中设置实体的最大寿命';s缓存块?,c#,.net,caching,enterprise-library,C#,.net,Caching,Enterprise Library,在我的应用程序中,我想将一些项添加到缓存中,但这些项最多应该有一天的时间 是否有OOTB方法来设置某些对象的最大使用寿命?您可以在使用CacheManager的add方法将项目添加到缓存时指定项目的过期时间: public void Add ( string key, Object value, CacheItemPriority scavengingPriority, ICacheItemRefreshAction refreshAction, para
是否有OOTB方法来设置某些对象的最大使用寿命?您可以在使用CacheManager的add方法将项目添加到缓存时指定项目的过期时间:
public void Add (
string key,
Object value,
CacheItemPriority scavengingPriority,
ICacheItemRefreshAction refreshAction,
params ICacheItemExpiration[] expirations
)
在这个公认的牵强示例中,如果产品价格低于100,那么产品将被缓存24小时,否则它将在最后一次从缓存访问时间后1分钟过期
Product[] products = GetProducts();
CacheManager cache = CacheFactory.GetCacheManager();
AbsoluteTime twentyFourHoursLater = new AbsoluteTime(DateTime.Now.AddHours(24));
SlidingTime oneMinuteSlidingTime = new SlidingTime(TimeSpan.FromMinutes(1));
foreach (Product product in products)
{
if (product.ProductPrice < 100)
{
cache.Add(product.ProductID, product, CacheItemPriority.Normal, null,
twentyFourHoursLater);
}
else
{
cache.Add(product.ProductID, product, CacheItemPriority.Normal, null,
oneMinuteSlidingTime);
}
}
Product[]products=GetProducts();
CacheManager cache=CacheFactory.GetCacheManager();
AbsoluteTime二十四小时后=新的AbsoluteTime(DateTime.Now.AddHours(24));
SlidingTime oneMinuteSlidingTime=新的SlidingTime(TimeSpan.FromMinutes(1));
foreach(产品中的产品)
{
如果(product.ProductPrice<100)
{
cache.Add(product.ProductID,product,CacheItemPriority.Normal,null,
二十四小时后);
}
其他的
{
cache.Add(product.ProductID,product,CacheItemPriority.Normal,null,
一分钟一次);
}
}
谢谢。确实有点牵强,但很有说明性:)