示例#1
0
        public Task Disptach <TQuery, TResult>(QueryReloadEvent <TQuery, TResult> @event, CancellationToken token = default) where TQuery : IQuery <TResult>
        {
            var handlers = _dependencyResolver.ResolveAll <IEventHandler <QueryReloadEvent <TQuery, TResult> > >().ToList();
            var tasks    = handlers.ConvertAll(x => x.Handle(@event, token));

            var clearCacheTask = _queryCache.Clear <TQuery, TResult>(token);

            tasks.Add(clearCacheTask);

            return(Task.WhenAll(tasks));
        }
示例#2
0
        // TODO: isBatchVersionedData()
        // TODO: isWrapDataReadersEnabled()

        public void EvictQueries()
        {
            if (queryCache != null)
            {
                queryCache.Clear();
                if (queryCaches.Count == 0)
                {
                    updateTimestampsCache.Clear();
                }
            }
        }
示例#3
0
 public void EvictQueries()
 {
     // NH Different implementation
     if (queryCache != null)
     {
         queryCache.Clear();
         if (queryCaches.Count == 0)
         {
             updateTimestampsCache.Clear();
         }
     }
 }
示例#4
0
 public void EvictQueries(string cacheRegion)
 {
     if (cacheRegion == null)
     {
         throw new ArgumentNullException("cacheRegion", "use the zero-argument form to evict the default query cache");
     }
     else if (queryCaches != null)
     {
         IQueryCache currentQueryCache = ( IQueryCache )queryCaches[cacheRegion];
         if (currentQueryCache != null)
         {
             currentQueryCache.Clear();
         }
     }
 }