2024-11-13 17:50:52 +08:00

73 lines
2.2 KiB
C#

using JiShe.CollectBus.MQ.Consumer;
using JiShe.CollectBus.Network;
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<JiSheCollectBusMqConsumerModule>();
services.AddApplication<JiSheCollectBusNetworkModule>();
services.AddPluginApplications();
services.AddStackExchangeRedisCache(options =>
{
options.Configuration = configuration["RedisCache:ConnectionString"];
options.InstanceName = configuration["RedisCache:InstanceName"];
});
}
}
}