我正在我的应用程序中实现一个自定义配置提供程序。
在该提供程序中,我必须进行REST调用。该调用需要一个有效的OAuth 2令牌才能成功。为了得到这个标记,我需要一个半复杂的类依赖树。
对于我的应用程序的其余部分,我只使用依赖项注入来获取所需的实例。但是,在设置依赖项注入之前,将调用自定义配置提供程序。
我已经考虑过建立一个依赖注入的“预”实例。如下所示:
IServiceCollection services = new ServiceCollection();
// Setup the DI here
IServiceProvider serviceProvider = services.BuildServiceProvider();
var myTokenGenerator = serviceProvider.GetService<IMyTokenGenerator>();但是我读过,当你做另一个ServiceCollection时,它会引起问题。我想知道如何避免这些问题。
如何正确地清除ServiceCollection 和 ServiceProvider**?**的“pre”实例?
(注:似乎都没有实现IDisposable。)
发布于 2021-09-16 04:51:16
嗯,我不明白你为什么要那样做。我可能会让Serviceprovider完全构建。
为了避免检索到的服务相互影响,我将使用嵌套容器/作用域,这意味着如果检索相同的服务,则每个容器/作用域得到不同的实例。
希望我能理解你想要实现的目标。请参阅.NET核心IServiceScopeFactory.CreateScope()与IServiceProvider.CreateScope()扩展
https://stackoverflow.com/questions/69200250
复制相似问题