Beispiel #1
0
        /// <summary>
        /// Retira uma tarefa de escrita oculta.
        /// </summary>
        /// <param name="taskId">Identificador da tarefa.</param>
        /// <param name="providerName">Nome do provedor.</param>
        public void DequeueWriteBehindTask(string taskId, string providerName)
        {
            WriteThruProviderManager mgr = null;

            _writerProivder.TryGetValue(providerName.ToLower(), out mgr);
            if (mgr != null)
            {
                mgr.DequeueWriteBehindTask(taskId);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Recupera o provedor pelo nome informado.
        /// </summary>
        /// <param name="providerName">Nome do provedor.</param>
        /// <returns></returns>
        internal WriteThruProviderManager GetProvider(string providerName)
        {
            WriteThruProviderManager mgr = null;

            if ((_writerProivder != null) && _writerProivder.ContainsKey(providerName.ToLower()))
            {
                _writerProivder.TryGetValue(providerName.ToLower(), out mgr);
            }
            return(mgr);
        }
 public WriteBehindTask(CacheBase internalCache, WriteThruProviderManager parent, object key, CacheEntry entry, string source, string taskId, string providerName, OpCode opCode, WriteBehindAsyncProcessor.TaskState state)
 {
     _internalCache = internalCache;
     _parent        = parent;
     _key           = key;
     _entry         = entry;
     _opCode        = opCode;
     _source        = source;
     _taskId        = taskId;
     _providerName  = providerName;
     _state         = state;
 }
 public BulkWriteBehindTask(CacheBase internalCache, WriteThruProviderManager parent, object[] keys, object[] values, CacheEntry[] entries, string source, string taskId, string providerName, OpCode opCode, WriteBehindAsyncProcessor.TaskState state)
 {
     _internalCache = internalCache;
     _parent        = parent;
     _keys          = keys;
     _values        = values;
     _entries       = entries;
     _opCode        = opCode;
     _taskId        = taskId;
     _providerName  = providerName;
     _source        = source;
     _state         = state;
 }
Beispiel #5
0
 public void WriteThru(string[] keys, object[] values, CacheEntry[] entries, Hashtable returnSet, OpCode opCode, string providerName, OperationContext operationContext)
 {
     if (_writerProivder != null)
     {
         WriteThruProviderManager mgr = null;
         if (string.IsNullOrEmpty(providerName))
         {
             providerName = this.DefaultWriteThruProvider;
         }
         if (_writerProivder.ContainsKey(providerName.ToLower()))
         {
             _writerProivder.TryGetValue(providerName.ToLower(), out mgr);
             if (mgr != null)
             {
                 mgr.WriteThru(_context.CacheImpl, keys, values, entries, returnSet, opCode, operationContext);
             }
         }
     }
 }
Beispiel #6
0
 public void WriteThru(string key, CacheEntry val, OpCode opCode, string providerName, OperationContext operationContext)
 {
     if (_writerProivder != null)
     {
         WriteThruProviderManager mgr = null;
         if (string.IsNullOrEmpty(providerName))
         {
             providerName = this.DefaultWriteThruProvider;
         }
         if (_writerProivder.ContainsKey(providerName.ToLower()))
         {
             _writerProivder.TryGetValue(providerName.ToLower(), out mgr);
             if (mgr != null)
             {
                 mgr.WriteThru(_context.CacheImpl, key, val, opCode, operationContext);
             }
         }
     }
 }
Beispiel #7
0
 public void WriteBehind(CacheBase internalCache, object[] keys, object[] values, CacheEntry[] entries, string source, string taskId, string providerName, OpCode operationCode, WriteBehindAsyncProcessor.TaskState state)
 {
     if (_writerProivder != null)
     {
         WriteThruProviderManager mgr = null;
         if (string.IsNullOrEmpty(providerName))
         {
             providerName = this.DefaultWriteThruProvider;
         }
         if (_writerProivder.ContainsKey(providerName.ToLower()))
         {
             _writerProivder.TryGetValue(providerName.ToLower(), out mgr);
             if (mgr != null)
             {
                 mgr.WriteBehind(internalCache, keys, values, entries, source, taskId, operationCode, state);
             }
         }
     }
 }
Beispiel #8
0
 /// <summary>
 /// Recupera os gerenciadores de escrita através.
 /// </summary>
 /// <param name="providerName">Nome do provedor.</param>
 /// <param name="providers">Hash com os provedores.</param>
 /// <param name="operationCode">Código da operação.</param>
 /// <returns></returns>
 private IEnumerable <WriteThruProviderManager> GetWriteThruMgr(string providerName, IDictionary <string, WriteThruProviderManager> providers, OpCode operationCode)
 {
     if (string.IsNullOrEmpty(providerName))
     {
         providerName = _defaultWriteThruProvider;
     }
     if (providerName != null)
     {
         if (operationCode != OpCode.Clear)
         {
             WriteThruProviderManager item = null;
             providers.TryGetValue(providerName.ToLower(), out item);
             yield return(item);
         }
         else
         {
             foreach (var i in providers)
             {
                 yield return(i.Value);
             }
         }
     }
 }
 public WriteBehindTask(CacheBase internalCache, WriteThruProviderManager parent, object key, CacheEntry entry, string source, string taskId, string providerName, OpCode opCode) : this(internalCache, parent, key, entry, source, taskId, providerName, opCode, WriteBehindAsyncProcessor.TaskState.Wait)
 {
 }
 public BulkWriteBehindTask(CacheBase internalCache, WriteThruProviderManager parent, object[] keys, object[] values, CacheEntry[] entries, string source, string taskId, string providerName, OpCode opCode) : this(internalCache, parent, keys, values, entries, source, taskId, providerName, opCode, WriteBehindAsyncProcessor.TaskState.Wait)
 {
 }