Pazyn.StartupTasks
1.0.0
Pazyn.StartupTasks是在应用程序启动时用于运行任务的库。例如,您可以迁移数据库,验证配置,同步权限或填充缓存。可以将启动任务分别配置为以两种模式工作:阻止和非阻止。阻止意味着所有请求都被阻止,直到任务完成为止。用Medod标记的第二种模式防护路线RequireStartupTask生成503 HTTP响应代码,直到任务完成为止。
public class SillyStartupTask : IStartupTask
{
public Task<Boolean> Run(CancellationToken cancellationToken) => Task.FromResult(true);
}
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddHealthChecks()
.AddStartupTasks();
services.AddStartupTasks()
.AddStartupTask<SillyStartupTask>();
}
public void Configure(IApplicationBuilder app, IConfiguration configuration)
{
app.UseRouting();
app.UseStartupTasks();
app.UseEndpoints(endpoints =>
{
endpoints.MapHealthChecks("/health");
endpoints.MapGet("/", context => context.Response.WriteAsync("Hello World!"))
.RequireStartupTask();
});
}
}
这项工作的启发是:
查看他的博客文章: