private void Initialize() { ReadXmlFiles(SqlCache); ChangeToken.OnChange(() => FileProvider.Watch("**/*.xml"), () => { Thread.Sleep(500); try { ReadXmlFiles(SqlTempCache); SqlCache.Clear(); foreach (var item in SqlTempCache) { SqlCache.TryAdd(item.Key, item.Value); } SqlTempCache.Clear(); } catch (Exception ex) { Logger.LogError($"Sql separate xml file error:{ex.Message}"); SqlTempCache.Clear(); } }); }
/// <summary> /// Çå¿Õ»º´æ /// </summary> public static void RemoveAll() { //ÇëÇ󼶻º´æ if (CacheType == XCacheType.RequestCache) { if (HttpContext.Current == null) { return; } List <Object> toDel = new List <Object>(); foreach (Object obj in HttpContext.Current.Items.Keys) { String str = obj as String; if (!String.IsNullOrEmpty(str)) { if (str.StartsWith("XCache_DataSet_") || str.StartsWith("XCache_Int32_")) { toDel.Add(obj); } } } foreach (Object obj in toDel) { HttpContext.Current.Items.Remove(obj); } return; } //¾²Ì¬»º´æ lock (_TableCache) { _TableCache.Clear(); } lock (_IntCache) { _IntCache.Clear(); } }