/// <summary> /// Persist the task metadata cache to disk. /// </summary> public void PersistTaskMetadataCache() { if (!TaskMetadataCache.IsDirty) { return; // Nothing new to persist. } if (!TaskMetadataCacheFile.Directory.Exists) { ExtensionDataDirectory.Create(); } TaskMetadataCache.Save(TaskMetadataCacheFile.FullName); }
/// <summary> /// Attempt to restore the task metadata cache from persisted state. /// </summary> /// <returns> /// <c>true</c>, if the task metadata cache was restored from persisted state; otherwise, <c>false</c>. /// </returns> public bool RestoreTaskMetadataCache() { if (!TaskMetadataCacheFile.Exists) { return(false); } try { TaskMetadataCache.Load(TaskMetadataCacheFile.FullName); return(true); } catch (Exception cacheLoadError) { Log.Error(cacheLoadError, "An unexpected error occurred while restoring the task metadata cache."); return(false); } }