|
|
|
|
@ -5,6 +5,12 @@ using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using Serilog;
|
|
|
|
|
using Sln.Wcs.Serilog;
|
|
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Com.Ctrip.Framework.Apollo;
|
|
|
|
|
using Microsoft.OpenApi;
|
|
|
|
|
using Swashbuckle.AspNetCore.Swagger;
|
|
|
|
|
using Microsoft.AspNetCore.Hosting.Server.Features;
|
|
|
|
|
using Microsoft.AspNetCore.Hosting.Server;
|
|
|
|
|
namespace Sln.Wcs
|
|
|
|
|
{
|
|
|
|
|
public class Program
|
|
|
|
|
@ -18,8 +24,8 @@ namespace Sln.Wcs
|
|
|
|
|
Console.ForegroundColor = ConsoleColor.Yellow;
|
|
|
|
|
Console.WriteLine("Test!");
|
|
|
|
|
var host = CreateHostBuilder(args).Build();
|
|
|
|
|
var hostTask = host.RunAsync();
|
|
|
|
|
|
|
|
|
|
var hostTask = host.RunAsync();
|
|
|
|
|
//serilogHelper = host.Services.GetRequiredService<SerilogHelper>();
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
@ -37,7 +43,14 @@ namespace Sln.Wcs
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
|
|
|
|
Host.CreateDefaultBuilder(args)
|
|
|
|
|
Host.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) =>
|
|
|
|
|
{
|
|
|
|
|
var builtConfig = config.Build();
|
|
|
|
|
|
|
|
|
|
config.AddApollo(builtConfig.GetSection("Apollo"))
|
|
|
|
|
.AddNamespace("application")
|
|
|
|
|
.AddDefault();
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
.UseSerilog((context, config) =>
|
|
|
|
|
{
|
|
|
|
|
@ -45,11 +58,39 @@ namespace Sln.Wcs
|
|
|
|
|
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
|
|
|
|
|
.ConfigureServices((hostContext, services) =>
|
|
|
|
|
{
|
|
|
|
|
services.AddEndpointsApiExplorer();
|
|
|
|
|
services.AddSwaggerGen(c =>
|
|
|
|
|
{
|
|
|
|
|
c.SwaggerDoc("v1", new OpenApiInfo
|
|
|
|
|
{
|
|
|
|
|
Title = "My API",
|
|
|
|
|
Version = "v1",
|
|
|
|
|
Description = "API 文档"
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
//services.AddHostedService<ReadBusiness>();
|
|
|
|
|
})
|
|
|
|
|
.ConfigureWebHostDefaults(webBuilder =>
|
|
|
|
|
{
|
|
|
|
|
//webBuilder.UseStartup<Startup>();
|
|
|
|
|
webBuilder.Configure(app =>
|
|
|
|
|
{
|
|
|
|
|
// 配置中间件管道
|
|
|
|
|
var env = app.ApplicationServices.GetRequiredService<IWebHostEnvironment>();
|
|
|
|
|
|
|
|
|
|
if (env.IsDevelopment())
|
|
|
|
|
{
|
|
|
|
|
app.UseSwagger();
|
|
|
|
|
app.UseSwaggerUI(c=> { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 其他中间件配置
|
|
|
|
|
app.UseRouting();
|
|
|
|
|
app.UseEndpoints(endpoints =>
|
|
|
|
|
{
|
|
|
|
|
endpoints.MapControllers();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
webBuilder.UseStartup<Sln.Wcs.Startup>();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|