/// <summary> /// 清理 /// </summary> public void Dispose() { timer.Stop(); timer.Dispose(); AgileFile.BinaryWrite(cache, FilePath, FileType); cache.Clear(); }
/// <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(); } }