public void Dispose() { cacheFilteredCollection?.RemoveCollection(this); cacheFilteredCollection = null; collection?.Dispose(); collection = null; }
public FilteredCollection( CacheFilteredCollection <TItem> cacheFilteredCollection, string queueName, Func <TItem, bool> itemMatch, int queueCapacity = 1000) { this.cacheFilteredCollection = cacheFilteredCollection; this.QueueName = queueName; this.collection = new BlockingCollection <TItem>(queueCapacity); this.itemMatch = itemMatch; }
public CacheItems( TransactionItems <CacheItemDto <TItem> > transactionItems, IEnumerable <TItem> items = null, TimeSpan?expirationTime = null, CacheFilteredCollection <CacheItemDto <TItem> > filteredCollection = null, ILogger logger = null) { this.expirationTime = expirationTime ?? TimeSpan.FromHours(1); if (transactionItems != null) { this.transactionItems = transactionItems; this.transactionItems.TransactionCommitted += OnTransactionCommitted; this.transactionItems.TransactionAborted += OnTransactionAborted; } InitializeCacheItems(items ?? new List <TItem>()); this.filteredCollection = filteredCollection; this.logger = logger; }