我正在我的应用程序中实现自定义配置提供程序。
在该提供程序中,我必须进行 REST API 调用。该调用需要有效的 OAuth 2 令牌才能成功。为了得到那个令牌,我需要一个半复杂的类依赖树。
对于我的应用程序的其余部分,我只使用依赖注入来获取所需的实例。但是在设置依赖注入之前调用自定义配置提供程序。
我考虑过制作一个依赖注入的“Pre”实例。像这样:
IServiceCollection services = new ServiceCollection();
// Setup the DI here
IServiceProvider serviceProvider = services.BuildServiceProvider();
var myTokenGenerator = serviceProvider.GetService<IMyTokenGenerator>();
但是我已经读过,当你制作另一个时ServiceCollection
,它可能会导致问题。我想知道避免这些问题的方法。
如何正确清理ServiceCollection
and的“pre-DI”实例ServiceProvider
?
(注意:似乎都没有实现 IDisposable。)