private static string ComputeHashForFile(string path, ConfigCachingPolicy policy) { switch (policy) { case ConfigCachingPolicy.ByFileContent: using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(path)) { var fileMd5 = md5.ComputeHash(stream); return BitConverter.ToString(fileMd5); } } case ConfigCachingPolicy.ByFileModified: var fileInfo = new FileInfo(path); return fileInfo.LastWriteTimeUtc.ToBinary().ToString(); case ConfigCachingPolicy.Permanent: return path; } throw new InvalidOperationException("Cannot calculate file hash for ConfigCachinePolicy.None"); }
private static string ComputeHashForFile(string path, ConfigCachingPolicy policy) { switch (policy) { case ConfigCachingPolicy.ByFileContent: using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(path)) { var fileMd5 = md5.ComputeHash(stream); return(BitConverter.ToString(fileMd5)); } } case ConfigCachingPolicy.ByFileModified: var fileInfo = new FileInfo(path); return(fileInfo.LastWriteTimeUtc.ToBinary().ToString()); case ConfigCachingPolicy.Permanent: return(path); } throw new InvalidOperationException("Cannot calculate file hash for ConfigCachinePolicy.None"); }