示例#1
0
            public MonitorBlockBase(MyGridProgram program, MonitorTarget target, MonitorOptions options, MonitorContents contents)
            {
                Program  = program;
                Target   = target ?? new MonitorTarget(Me);
                Options  = options ?? new MonitorOptions();
                Contents = contents ?? new MonitorContents();

                Totalize = Options.ContainsKey("total");
            }
示例#2
0
        public static void Run()
        {
            using (var context = ApplicationContext.Create(application => application
                                                           .Tasks(tasks => tasks
                                                                  .Clear()
                                                                  .Task <MigrateTask>()
                                                                  .MonitorTask(task => task
                                                                               .Clear()
                                                                               .Step <ExportIntegrationErrorsStep>())
                                                                  .MaintenanceTask(task => task
                                                                                   .Clear()
                                                                                   .Step <CleanUpIntegrationDbStep>())
                                                                  )
                                                           .Services(services => services
                                                                     .Advanced(advanced => advanced
                                                                               .Register <IEmailService, MyEmailService>()))
                                                           .Database(database => database
                                                                     .IntegrationDb(integrationDb => integrationDb
                                                                                    .PrefixTables("IntegrationService.")
                                                                                    .Connection(ConnectionString.FromText(@"Integrated Security=SSPI;Data Source=.\SQLExpress;Database=IntegrationServiceDemo_Logging"))))))
            {
                context.Execute(nameof(MigrateTask));

                var logger = context.Resolve <ILogger>();

                logger.LogError(Target.Service, new string('-', 5000));
                logger.LogError(new InvalidOperationException(new string('.', 5000)));

                var configurationService = context.Resolve <IConfigurationService>();
                var monitorConfiguration = configurationService.Get <MonitorConfiguration>();

                MonitorTarget serviceTarget = monitorConfiguration.EnsureMonitorTarget(Target.Service);
                serviceTarget.Recipients = new[] { "dummy@localhost" };

                configurationService.Save(monitorConfiguration, typeof(Demo).FullName);

                context.Execute(nameof(MonitorTask));
                context.Execute(nameof(MaintenanceTask));
            }
        }
示例#3
0
 public MonitorBlock(MyGridProgram program, MonitorTarget target, MonitorOptions options, MonitorContents contents) : base(program, target, options, contents)
 {
 }