private string ReadFileSetting() { var content = ""; _encryptionKeys = new Dictionary <string, string>(); if (!_appDataFolder.FileExists(_filePath)) { var key = ""; content = "TheDefaultChannel" + ":" + key + Environment.NewLine; _encryptionKeys.Add("TheDefaultChannel", key); _appDataFolder.CreateFile(_filePath, content); } else { var filecontent = _appDataFolder.ReadFile(_filePath); var lines = filecontent.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) { var keyval = line.Split(':'); if (keyval.Length > 1) { if (!string.IsNullOrEmpty(line.Substring(keyval[0].Length + 1).Trim())) { _encryptionKeys.Add(keyval[0], line.Substring(keyval[0].Length + 1).Trim()); } else { _encryptionKeys.Add(keyval[0], ""); } } } content = filecontent; } _lastWriteTimedUtc = _appDataFolder.GetFileLastWriteTimeUtc(_filePath); return(content); }
public void Sweep() { Logger.Debug("Beginning sweep for TrailLogTrimmingBackgroundTask."); try { // This task should look for audit trail log files older than a timespan // and delete them if any are found. if (GetIsTimeToTrim()) { var logFilePath = LaserAuditTrailHelper.GetLogsFilePath(); var logFileExtension = LaserAuditTrailHelper.GetAppenderFileExtension(); var fileNameBeginning = Path.Combine( logFilePath, LaserAuditTrailHelper.GetAppenderFileName( GetSiteSettings().SiteName)) .Replace(Path.DirectorySeparatorChar, '/'); var myLogs = _appDataFolder .ListFiles(logFilePath) .Where(fn => fn.StartsWith(fileNameBeginning)); // get the logs older than the specific timespan and delete them // Retention timespan: anything older will be deleted var retentionPeriod = TimeSpan.FromDays(GetAuditTrailSettings().RetentionPeriod); var dateThreshold = (_clock.UtcNow.EndOfDay() - retentionPeriod); foreach (var fileName in myLogs) { var lastWriteTime = _appDataFolder.GetFileLastWriteTimeUtc(fileName); if (lastWriteTime <= dateThreshold) { // file is older than the limit for retention. Delete it. _appDataFolder.DeleteFile(fileName); } } } } catch (Exception ex) { Logger.Error(ex, "Error during sweep for TrailLogTrimmingBackgroundTask."); } finally { Logger.Debug("Ending sweep for TrailLogTrimmingBackgroundTask."); } }
public DateTime GetAssemblyDateTimeUtc(string moduleName) { var path = PrecompiledAssemblyPath(moduleName); return(_appDataFolder.GetFileLastWriteTimeUtc(path)); }
/// <summary> /// 获取程序集的最后修改的Utc时间,如果不存在则返回null。 /// </summary> /// <param name="descriptor">程序集描述符。</param> /// <returns>Utc时间。</returns> public DateTime?GetAssemblyDateTimeUtc(AssemblyDescriptor descriptor) { var path = PrecompiledAssemblyPath(descriptor); return(_appDataFolder.GetFileLastWriteTimeUtc(path)); }