using JiShe.CollectBus.Host;
using Microsoft.AspNetCore.Hosting;
using Serilog;
using Volo.Abp.Modularity.PlugIns;
public class Program
{
///
///
///
///
///
public static async Task Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseContentRoot(Directory.GetCurrentDirectory())
.UseSerilog((context, loggerConfiguration) =>
{
loggerConfiguration.ReadFrom.Configuration(context.Configuration);
})
.UseAutofac();
await builder.AddApplicationAsync(options =>
{
// 加载插件,固定模式,可热插拔
options.PlugInSources.AddFolder(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins"));
});
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();
//await CreateHostBuilder(args).Build().RunAsync();
}
private static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseSerilog((context, loggerConfiguration) =>
{
loggerConfiguration.ReadFrom.Configuration(context.Configuration);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
})
.UseAutofac();
private static IHostBuilder CreateConsoleHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) => { ConfigureServices(services, hostContext); })
.UseAutofac()
.UseSerilog((context, loggerConfiguration) =>
{
loggerConfiguration.ReadFrom.Configuration(context.Configuration);
});
private static async Task ConfigureServices(IServiceCollection services, HostBuilderContext hostContext)
{
await services.AddApplicationAsync();
}
}