コード例 #1
0
        /// <summary>
        /// <para>Initialises this instance with the given components.</para>
        /// </summary>
        /// <param name="replacementPolicy">
        /// An <see cref="IReplacementPolicy"/>
        /// </param>
        /// <param name="backingStore">
        /// An <see cref="ICacheBackingStore"/>
        /// </param>
        /// <param name="defaultItemPolicy">
        /// An <see cref="IItemPolicy"/>
        /// </param>
        public EntityCacheBase(IReplacementPolicy replacementPolicy,
                               ICacheBackingStore backingStore,
                               IItemPolicy defaultItemPolicy)
        {
            _disposed = false;

            this.SyncRoot     = new ReaderWriterLockSlim();
            this.ItemPolicies = new Dictionary <IIdentity, IItemPolicy>();

            this.ReplacementPolicy = replacementPolicy;
            this.BackingStore      = backingStore;
            this.DefaultItemPolicy = defaultItemPolicy;

            this.CacheHit    += this.ReplacementPolicy.HandleCacheEvent;
            this.CacheMiss   += this.ReplacementPolicy.HandleCacheEvent;
            this.ItemAdded   += this.ReplacementPolicy.HandleCacheEvent;
            this.ItemRemoved += this.ReplacementPolicy.HandleCacheEvent;
        }
コード例 #2
0
 /// <summary>
 /// <para>Initialises this instance, including a default item policy.</para>
 /// </summary>
 /// <param name="policy">
 /// A <see cref="IReplacementPolicy"/>
 /// </param>
 /// <param name="backingStore">
 /// A <see cref="ICacheBackingStore"/>
 /// </param>
 /// <param name="defaultItemPolicy">
 /// A <see cref="IItemPolicy"/>
 /// </param>
 public InlineEntityCache (IReplacementPolicy policy,
                           ICacheBackingStore backingStore,
                           IItemPolicy defaultItemPolicy) : base(policy, backingStore, defaultItemPolicy)
 {
   this.ItemAdded += HandleItemAdded;
 }
コード例 #3
0
 /// <summary>
 /// <para>Initialises this instance.</para>
 /// </summary>
 /// <param name="policy">
 /// A <see cref="IReplacementPolicy"/>
 /// </param>
 /// <param name="backingStore">
 /// A <see cref="ICacheBackingStore"/>
 /// </param>
 public InlineEntityCache (IReplacementPolicy policy,
                           ICacheBackingStore backingStore) : this(policy, backingStore, null) {}
コード例 #4
0
 /// <summary>
 /// <para>Initialises this instance, including a default item policy.</para>
 /// </summary>
 /// <param name="policy">
 /// A <see cref="IReplacementPolicy"/>
 /// </param>
 /// <param name="backingStore">
 /// A <see cref="ICacheBackingStore"/>
 /// </param>
 /// <param name="defaultItemPolicy">
 /// A <see cref="IItemPolicy"/>
 /// </param>
 public InlineEntityCache(IReplacementPolicy policy,
                          ICacheBackingStore backingStore,
                          IItemPolicy defaultItemPolicy) : base(policy, backingStore, defaultItemPolicy)
 {
     this.ItemAdded += HandleItemAdded;
 }
コード例 #5
0
 /// <summary>
 /// <para>Initialises this instance.</para>
 /// </summary>
 /// <param name="policy">
 /// A <see cref="IReplacementPolicy"/>
 /// </param>
 /// <param name="backingStore">
 /// A <see cref="ICacheBackingStore"/>
 /// </param>
 public InlineEntityCache(IReplacementPolicy policy,
                          ICacheBackingStore backingStore) : this(policy, backingStore, null)
 {
 }
コード例 #6
0
 /// <summary>
 /// <para>Initialises this instance with the given components.</para>
 /// </summary>
 /// <param name="replacementPolicy">
 /// An <see cref="IReplacementPolicy"/>
 /// </param>
 /// <param name="backingStore">
 /// An <see cref="ICacheBackingStore"/>
 /// </param>
 /// <param name="defaultItemPolicy">
 /// An <see cref="IItemPolicy"/>
 /// </param>
 public EntityCacheBase (IReplacementPolicy replacementPolicy,
                         ICacheBackingStore backingStore,
                         IItemPolicy defaultItemPolicy)
 {
   _disposed = false;
   
   this.SyncRoot = new ReaderWriterLockSlim();
   this.ItemPolicies = new Dictionary<IIdentity, IItemPolicy>();
   
   this.ReplacementPolicy = replacementPolicy;
   this.BackingStore = backingStore;
   this.DefaultItemPolicy = defaultItemPolicy;
   
   this.CacheHit += this.ReplacementPolicy.HandleCacheEvent;
   this.CacheMiss += this.ReplacementPolicy.HandleCacheEvent;
   this.ItemAdded += this.ReplacementPolicy.HandleCacheEvent;
   this.ItemRemoved += this.ReplacementPolicy.HandleCacheEvent;
 }