我正在尝试在我的启动类 Singleton 中使用 DI add。基于我想processorStringName它来自的appSettings和工厂类添加适当的处理器?有可能以一种很好的方式做到这一点吗?
IProcessor processor = ProcessorFactory.CreateProcessor(Configuration, processorStringName);
services.AddSingleton<IProcessor, processor>();
Run Code Online (Sandbox Code Playgroud)
services.AddSingleton<IProcessor, processor>();
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为processor是变量名,而不是类型名。
你想要这个:
services.AddSingleton<IProcessor>( implementationInstance: processor );
Run Code Online (Sandbox Code Playgroud)
或这个:
services.AddSingleton<IProcessor>( implementationFactory: sp => processor );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |