.NET Core 6.0 自定义 Boostrap 服务

.NET Core 6.0 Custom Boostrap Service

我是 .net core 6.0 的新手。我想了解我们是否可以在应用程序启动时初始化自定义数据缓存实现。

我试过中间件,但是它会在每个请求上执行(可以使用但不理想)。我尝试了托管服务,但找不到太多帮助。

非常感谢任何帮助。

您可以在 Program.cs 中启动应用程序之前检索服务和 运行 引导逻辑,类似于:

var builder = WebApplication.CreateBuilder(args);

// register services...

var app = builder.Build();

using (var scope = app.Services.CreateScope())
{
    var bootstrapperService = scope.ServiceProvider.GetRequiredService<BootstrapperService>();
    bootstrapperService.Bootstrap();
}

app.MapGet("/", () => "Hello World!");

app.Run();

请注意,只有当您的 BootstrapperService 是作用域时才需要创建作用域。