Пример #1
0
        private void LoadFrameworkExtensions(BootstrapInCodeConfiguration configuration)
        {
            HandleMessage("Scanne nach Extensions");
            var extensionDir = Path.Combine(_assemblyPath, _folderExtensions);

            if (Directory.Exists(extensionDir))
            {
                StructureMapContainer.Configure(cfg => cfg.Scan(scanner =>
                {
                    scanner.AssembliesFromPath(extensionDir);
                    foreach (var subDir in Directory.GetDirectories(extensionDir))
                    {
                        scanner.AssembliesFromPath(subDir);
                    }

                    scanner.AddAllTypesOf <IFrameworkExtension>();
                }));

                foreach (var instance in DependencyResolver.GetAllInstances <IFrameworkExtension>())
                {
                    HandleMessage("Lade Extension " + instance.Name);
                    instance.Register(configuration, DependencyResolverConfigurator, DependencyResolver);
                }
            }
        }
Пример #2
0
        public void Register(BootstrapInCodeConfiguration configuration, IDependencyResolverConfigurator configurator, IDependencyResolver resolver)
        {
            var parameter    = new EnvironmentParameter();
            var registration = new SingletonRegistration <IEnvironmentParameters>(parameter);

            configurator.AddRegistration(registration);
        }
Пример #3
0
        public void Register(BootstrapInCodeConfiguration configuration, IDependencyResolverConfigurator configurator, IDependencyResolver resolver)
        {
            //Target.Register<Fluentd.Fluentd>("Fluentd");

            configurator.AddRegistration(new SingletonRegistration <ILogManager>(new LogManager()));
            configurator.AddRegistration(new FactoryRegistration <ILogger, ILogManager>(
                                             (factory, context) => factory.GetLogger(context.ParentType)));
        }
Пример #4
0
        public void Register(BootstrapInCodeConfiguration configuration, IDependencyResolverConfigurator configurator, IDependencyResolver resolver)
        {
            var appInsightConfig = TelemetryConfiguration.CreateDefault();

            configuration.ConfigureExtensionConfiguration(appInsightConfig);


            var telemetryClient = new TelemetryClient(appInsightConfig);

            telemetryClient.TrackTrace("Telemetry started");

            var metricRecorder = new TelemetryRecorder(telemetryClient);

            configurator.AddRegistration(new SingletonRegistration <IMetricRecorder>(metricRecorder));
            configurator.AddRegistration(new SingletonRegistration <TelemetryClient>(telemetryClient));
        }
Пример #5
0
 protected void Run(string[] args, BootstrapInCodeConfiguration configuration)
 => HostFactory.Run(x =>
 {
     x.SetDisplayName(_serviceName);
     x.SetServiceName(_serviceName);
     x.UseNLog();
     x.Service <ServiceBootstrap>(sc =>
     {
         sc.ConstructUsing(() => new ServiceBootstrap(configuration));
         sc.WhenStarted(s => s.StartingService());
         sc.WhenStopped(s =>
         {
             try
             {
                 s.StopingService();
             }
             catch (Exception)
             { }
         });
     });
 });
Пример #6
0
        public Bootstrap(BootstrapInCodeConfiguration configuration)
        {
            Thread.CurrentThread.Name = "Main";

            _messageListener  = configuration.MessageListner.FirstOrDefault();;
            _pluginTypes      = configuration.PluginTypes.ToArray();;
            _folderExtensions = configuration.FolderExtensionPath;
            _folderPlugins    = configuration.PluginPath;
            _assemblyPath     = Path.GetDirectoryName(GetType().Assembly.Location);

            IntializeIocContainer();
            LoadFrameworkExtensions(configuration);

            Logger = DependencyResolver.GetInstance <ILogManager>().GetLogger(GetType());
            AppDomain.CurrentDomain.UnhandledException += (s, e) =>
            {
                Logger.Error(e.ExceptionObject as Exception, "Unhandled exception occured. Terminating '{0}'", e.IsTerminating);
            };

            var parameter = DependencyResolver.GetInstance <IEnvironmentParameters>();

            LogEnvironmentParameter(parameter);
        }
Пример #7
0
        protected void Run(string[] args, BootstrapInCodeConfiguration configuration)
        {
            Console.WriteLine("Start");
            var pluginsToLoad = new List <string>();

            HostFactory.Run(x =>
            {
                x.UseNLog();
                x.Service <DockerBootstrap>(svc =>
                {
                    svc.ConstructUsing(() => new DockerBootstrap(configuration));
                    svc.WhenStarted(s => s.StartingService(pluginsToLoad));
                    svc.WhenStopped(s => s.StopingService());
                });

                x.AddCommandLineDefinition("plugin", p => pluginsToLoad.Add(p));
                x.OnException(e =>
                {
                    Console.WriteLine(e.ToString());
                });
            });
            Console.WriteLine("End");
        }
Пример #8
0
 public ServiceBootstrap(BootstrapInCodeConfiguration configuration)
     : base(configuration.AddPluginType <IServicePlugin>())
 {
 }
Пример #9
0
 public void Register(BootstrapInCodeConfiguration configuration, IDependencyResolverConfigurator configurator, IDependencyResolver resolver)
 => configurator.AddRegistration(new SingletonRegistration <IEventService, EventService>());
Пример #10
0
 static void Main(string[] args)
 => new Program().Run(args, BootstrapInCodeConfiguration.Default());
Пример #11
0
 public Start_service_windows()
 {
     _bootstrap = new ServiceBootstrap(BootstrapInCodeConfiguration.Default());
 }
 public static BootstrapInCodeConfiguration ConfigureTelemetry([NotNull] this BootstrapInCodeConfiguration codeConfiguration,
                                                               Action <TelemetryConfiguration> configurationBuilder)
 => codeConfiguration.AddExtensionConfiguration(configurationBuilder);