using JiShe.CollectBus.Core; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Volo.Abp; namespace JiShe.CollectBus.Console { internal class Program { static void Main(string[] args) { try { Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateLogger(); CreateHostBuilder(args).Build().Run(); } catch (Exception ex) { Log.Fatal(ex, "Application terminated unexpectedly"); } finally { Log.CloseAndFlush(); } } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration(ConfigureAppConfiguration) .ConfigureServices((hostContext, services) => { ConfigureServices(services, hostContext); }); private static void ConfigureAppConfiguration(HostBuilderContext hostContext, IConfigurationBuilder config) { var env = hostContext.HostingEnvironment; config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); config.AddEnvironmentVariables(); } private static void ConfigureServices(IServiceCollection services, HostBuilderContext hostContext) { var configuration = hostContext.Configuration; services.AddSerilog((context, lc) => { lc.ReadFrom.Configuration(configuration) .ReadFrom.Services(context); }); services.AddApplication(); services.AddPluginApplications(); services.AddStackExchangeRedisCache(options => { options.Configuration = configuration["RedisCache:ConnectionString"]; options.InstanceName = configuration["RedisCache:InstanceName"]; }); //var app = AbpApplicationFactory.Create(); //app.Initialize(); } } }