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();
     }
 }