public HistoryDBManagerService(StatefulServiceContext context) : base(context) { this.logger = CloudLoggerFactory.GetLogger(ServiceEventSource.Current, context); this.baseLogString = $"{this.GetType()} [{this.GetHashCode()}] =>{Environment.NewLine}"; Logger.LogDebug($"{baseLogString} Ctor => Logger initialized"); try { this.historyDBManagerProvider = new HistoryDBManager(this.StateManager); this.reportServiceProvider = new ReportService(); this.outageModelAccessProvider = new OutageModelAccess(); this.consumerAccessProvider = new ConsumerAccess(); this.equipmentAccessProvider = new EquipmentAccess(); this.notifyNetworkModelUpdateProvider = new OmsHistoryNotifyNetworkModelUpdate(this.StateManager); this.transactionActorProvider = new OmsHistoryTransactionActor(this.StateManager); this.historySubscriber = new HistorySubscriber(this.StateManager, this.historyDBManagerProvider); string infoMessage = $"{baseLogString} Ctor => Contract providers initialized."; Logger.LogInformation(infoMessage); } catch (Exception e) { string errorMessage = $"{baseLogString} Ctor => Exception caught: {e.Message}."; Logger.LogError(errorMessage, e); } }
public ModelProviderService(StatefulServiceContext context) : base(context) { this.baseLogString = $"{this.GetType()} [{this.GetHashCode()}] =>{Environment.NewLine}"; Logger.LogDebug($"{baseLogString} Ctor => Logger initialized"); try { //DONE THIS WAY (in this order) BECAUSE: there is a mechanism that tracks the initialization process of reliable collections, which is set in constructors of these classes var modelResourceDesc = new ModelResourcesDesc(); var enumDescs = new EnumDescs(); //this.scadaModelImporter = new ScadaModelImporter(this.StateManager, modelResourceDesc, enumDescs); this.modelReadAccessProvider = new ModelReadAccessProvider(this.StateManager); this.modelUpdateAccessProvider = new ModelUpdateAccessProvider(this.StateManager); this.integrityUpdateProvider = new IntegrityUpdateProvider(this.StateManager); this.scadaNotifyNetworkModelUpdate = new ScadaNotifyNetworkModelUpdate(this.StateManager); this.scadaTransactionActorProviders = new ScadaTransactionActor(this.StateManager, modelResourceDesc, enumDescs); string infoMessage = $"{baseLogString} Ctor => Contract providers initialized."; Logger.LogInformation(infoMessage); ServiceEventSource.Current.ServiceMessage(this.Context, $"[SCADA.ModelProviderService | Information] {infoMessage}"); } catch (Exception e) { string errorMessage = $"{baseLogString} Ctor => Exception caught: {e.Message}."; Logger.LogError(errorMessage, e); ServiceEventSource.Current.ServiceMessage(this.Context, $"[SCADA.ModelProviderService | Error] {errorMessage}"); } }