示例#1
0
        public Worker(ILogger <Worker> logger, CoreHierarchyServiceConfiguration config)
        {
            //_logger = logger;

            _config = config;


            Logging.InitializeLogging(_config);

            Log.Information("Sample Log output!");

            // We dont need the environment switch anymore!
            // when debugging this will automatically run in console mode, but when deployed will run as service! Cool
        }
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
        .UseWindowsService()

        // Configures my service!
        .ConfigureServices((hostContext, services) =>
        {
            // This is the DI for the Worker class! Very cool!
            IConfiguration configuration             = hostContext.Configuration;
            CoreHierarchyServiceConfiguration config = configuration
                                                       .GetSection("CoreHierarchyServiceConfiguration").Get <CoreHierarchyServiceConfiguration>();
            services.AddSingleton(config);

            services.AddHostedService <Worker>();
        })

        // Configures my Web Api!
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup <Startup>();
        });