private static HrefLookup GetHrefLookupConfig(FileInfo fileInfo, HrefLookup result) { try { lock (ObjectLock) { using (var reader = new StreamReader(fileInfo.FullName)) { var contents = reader.ReadToEnd(); if (contents != string.Empty) { result = new HrefLookup(contents); } } } } catch (Exception) { //allow a try on next user CacheMemory.ClearMenu(); CacheMemory.ClearCmsCache(); result = new HrefLookup(); } return(result); }
private static HrefLookup LoadFromDiskAndCache(string path) { var result = new HrefLookup(); var directory = new DirectoryInfo(path); var fileInfo = directory.GetFiles().OrderByDescending(file => file.LastWriteTime).FirstOrDefault(); // MJN: null reference, it is possible for there to be no element in 1 if (fileInfo != null) { result = GetHrefLookupConfig(fileInfo, result); } else if (directory.GetFiles().Count() > 1) { var previousConfig = directory.GetFiles().OrderByDescending(file => file.LastWriteTime).ElementAt(1); result = GetHrefLookupConfig(previousConfig, result); } return(result); }