所以,
// this doesn't work or make sense
services.AddScoped<IReadSomething>(sp => new Something());
services.AddScoped<IWriteSomething>(sp => new Something());
IReadSomething
IWriteSomething
,这个班只是
Something
.
它们需要确定作用域,因为它们从
HttpContext
与任意框架无关的“DTO”。
它们都应该引用同一个
我的资产
读取数据,这样我们就可以减少意外的数据覆盖。
正在做,
services.AddScoped<IReadSomething, Something>();
services.AddScoped<IWriteSomething, Something>();
也没有意义,因为它应该为每个接口创建一个新实例。
要让接口隔离和范围依赖解析一起工作,我缺少什么?我觉得我必须担心ASP.NET核心服务工厂还是什么?
我还使用structuremap来解决我的主要依赖关系-所以使用它的答案是好的。