/// <summary> /// Disposes cache. /// </summary> public void Destroy() { try { lock (_caches) { if (_cacheHandler != null) { if (_logger.IsDebugEnabled) { _logger.Debug(String.Format("Destroying Region Cache : {0}", _regionName)); } if (_cacheHandler.DecrementRefCount() == 0) { _caches.Remove(_regionConfig.CacheName); _cacheHandler.DisposeCache(); } _cacheHandler = null; } } } catch (Exception e) { if (_logger.IsErrorEnabled) { _logger.Error("Destroy operation failed." + e.Message); } throw new CacheException("Destroy operation failed." + e.Message, e); } }