。net核心中是否可以在启动时向配置方法注入取消令牌?取消应用程序时会调用它吗?
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceScopeFactory scopeFactory, ILogger<Startup> logger, CancellationToken ct)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
_foo = app.ApplicationServices.GetService<foo>();
app._foo.load(ct);
...
}
您应该从IHostApplicationLifetime
获得ApplicationServices
并使用ApplicationStopping
。
var hostApplicationLifetime = app.ApplicationServices.GetService<IHostApplicationLifetime>();
_foo = app.ApplicationServices.GetService<foo>();
app._foo.load(hostApplicationLifetime.ApplicationStopping);