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.");
     }
 }
Пример #3
0
        public DateTime GetAssemblyDateTimeUtc(string moduleName)
        {
            var path = PrecompiledAssemblyPath(moduleName);

            return(_appDataFolder.GetFileLastWriteTimeUtc(path));
        }
Пример #4
0
        /// <summary>
        /// 获取程序集的最后修改的Utc时间,如果不存在则返回null。
        /// </summary>
        /// <param name="descriptor">程序集描述符。</param>
        /// <returns>Utc时间。</returns>
        public DateTime?GetAssemblyDateTimeUtc(AssemblyDescriptor descriptor)
        {
            var path = PrecompiledAssemblyPath(descriptor);

            return(_appDataFolder.GetFileLastWriteTimeUtc(path));
        }