是否可以在entlib缓存应用程序块中配置到期策略?

时间:2010-06-10 09:27:32

标签: .net caching enterprise-library

有没有办法告诉CacheManager每个添加的项目都有相同的过期策略?

例如:

<cachingConfiguration defaultCacheManager="DefaultCacheManager">
    <cacheManagers>
        <add name="TestCM"
             expirationPollFrequencyInSeconds="60"
             maximumElementsInCacheBeforeScavenging="1000"
             numberToRemoveWhenScavenging="10"
             backingStoreName="Null Storage"
             type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

我希望有一些属性,如expirationPolicy =“AbsoluteTime”或“SlidingTime”,以及expirationValue =“...”,用于指定要使用的时间跨度。

谢谢, 第

2 个答案:

答案 0 :(得分:1)

我不认为您可以在配置中执行此操作。

我们通常使用CacheManager周围的包装器,因此只有一个地方可以设置过期策略,然后您可以从配置文件中的应用程序设置中读取值。

答案 1 :(得分:1)

对Cache的Add方法提供了Expiration。添加到缓存的每个项目都可以有自己的到期方案和自己的到期时间。不幸的是,目前无法通过配置指定默认方案和时间。正如Shiraz所提到的,你应该写一个外观并指明你想要的行为。