使用 ApplicationLifetime 事件进行简单注入器容器验证和处置是否是一种好习惯

Is it good practice to use ApplicationLifetime events for Simple Injector container verification and disposal

执行以下操作是个好主意吗?

public void Configure(
    IApplicationBuilder app,
    IWebHostEnvironment env,
    IHostApplicationLifetime applicationLifetime)
{
    applicationLifetime.ApplicationStarted.Register(() => _container.Verify());
    applicationLifetime.ApplicationStopped.Register(() => _container.Dispose());
    ...
}

我想知道此模式中是否存在导致验证执行得太晚或太早的边缘情况,以及验证失败是否会导致应用程序停止(希望如此)。

当谈到调用 Dispose 时,引入 v4.9 of the Simple Injector ASP.NET Core integration, the Container is automatically disposed of when the application shuts down. See this documentation section 以获取更多信息。

如果您使用的版本低于 v4.9,您可能需要考虑升级。这是不可能的,使用 ApplicationStopped.Register 似乎是个好主意。

我无法真正评论 Verify() 行为,所以我对您的体验很感兴趣,尽管我认为在 Configure 中调用 Verify 没有任何优势方法。