Exemple #1
0
 /// <summary>
 /// 清理
 /// </summary>
 public void Dispose()
 {
     timer.Stop();
     timer.Dispose();
     AgileFile.BinaryWrite(cache, FilePath, FileType);
     cache.Clear();
 }
Exemple #2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="overtimeInterval">超时间隔(单位:秒)</param>
 /// <param name="cleanInterval">清除时间间隔(单位:秒)</param>
 public AgileConcurrentFileMemoryCache(double overtimeInterval, double clearInterval, string filePath, AgileFileType fileType = AgileFileType.Text)
 {
     if (overtimeInterval > 0)
     {
         FilePath         = filePath;
         FileType         = fileType;
         cache            = AgileFile.BinaryRead <ConcurrentDictionary <TKey, TValue> >(FilePath, FileType);
         OvertimeInterval = overtimeInterval;
         timer            = new Timer(clearInterval * 1000);
         timer.Elapsed   += timeElapsed;
         timer.Start();
     }
 }