/// <summary> /// Создает экземпляр класса /// </summary> /// <param name="eventLink">Реализация интерфейса для доступа к журналу событий</param> public ManagementService(EventLink eventLink) { if (_syncObject == null) _syncObject = new Object(); _eventLink = eventLink; if (!File.Exists(PathHelper.SettingsFile)) { // файл конфигурации не существует // создадим конфигурацию с параметрами по умолчанию this.Settings = new Settings(); } }
private void CreateStatisticsLink() { var protocol = Settings.Statistics.StatParams.FirstOrDefault( p => String.Compare(p.Name, "Файл", StringComparison.CurrentCulture) == 0); if (protocol == null) throw new InvalidOperationException( "Необходимо добавить протокол [Файл] в параметры статистики"); var folder = protocol.Params.SingleOrDefault(p => p.Name == "КаталогХраненияСтатистики"); if (String.IsNullOrEmpty(folder.Value)) throw new InvalidOperationException( "Не задан параметр [КаталогХраненияСтатистики] для протокола [Файл]"); // создаем логгер для записи в файл _statisticsLink = new EventLink(folder.Value); }
/// <summary> /// Освобождение ресурсов /// </summary> public override void Dispose() { if (_statisticsLink != null) { _statisticsLink.Dispose(); _statisticsLink = null; } if (_eventLink != null) { _eventLink.Dispose(); _eventLink = null; } base.Dispose(); }