【发布时间】:2019-05-03 23:06:45
【问题描述】:
我正在使用这种方法构建服务实现:
我正在使用 Microsoft.Extensions.DependencyInjection 并试图实现以下目标:
- 创建本地 ServiceCollection 并保持原始 ServiceProvider(和底层 ServiceCollection)不变
- 将当前类型(TViewModel)注册到本地ServiceCollection
- 将父级 IServiceProvider(从另一个 ServiceCollection 构建)提供的所有服务添加到本地 ServiceCollection。
- 使用本地 ServiceCollection 创建本地 ServiceProvider,它能够提供我当前正在执行的类型的实例。
我在这里做了什么疯狂的事吗?对我来说,我似乎在这里做了一些奇怪的事情,因为它的 API 不存在从另一个 ServiceProvider 初始化 ServiceCollection。
注意
我不想在原来的 ServiceCollection 上运行 serviceCollection.AddX。
【问题讨论】:
-
这几乎肯定不是疯了。但是,当某些事情偏离常规时,通常有助于理解您尝试做的事情的原因。可能还有其他一些建议。