z8018
2026-02-11 b8fb68b44c29e4667f6ea5746119413809a60a9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using Autofac;
using Autofac.Extensions.DependencyInjection;
using KH.WMS.Core.AOP;
using KH.WMS.Core.Api.Documentation.Swagger;
using KH.WMS.Core.DependencyInjection;
using KH.WMS.Core.Logging.Serilog;
using KH.WMS.Core.Monitoring.MiniProfiler;
using KH.WMS.Core.Setup;
using KH.WMS.TestProj;
using StackExchange.Profiling;
using Swashbuckle.AspNetCore.SwaggerUI;
 
var builder = WebApplication.CreateBuilder(args);
 
 
// 配置 Serilog 日志
builder.Host.AddSerilog(
    appName: "KH.WMS",
    logDirectory: "Logs",
    retentionDays: 30,
    maxFileSizeMB: 5);
 
 
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder =>
{
    builder.RegisterModule(new ServiceExtensions());//带有接口层的服务注入
});
 
// 添加 HttpContextAccessor(用于日志中获取用户信息)
builder.Services.AddHttpContextAccessor();
 
builder.Services.AddInfrastructure(builder.Configuration, builder.Environment);
 
// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddRazorPages();  // MiniProfiler UI 可能需要
builder.Services.AddEndpointsApiExplorer();
 
var app = builder.Build();
 
app.UseCustomMiddleware(app.Environment);
 
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwaggerDocumentation(builder.Configuration);
}
 
app.Run();