Exemplo n.º 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;
        }
Exemplo n.º 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;
 }
Exemplo n.º 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) {}
Exemplo n.º 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;
 }
Exemplo n.º 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)
 {
 }
Exemplo n.º 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;
 }