asp.net – 如何使用Ninject注入依赖项,其中实例从json反序列化

这是我第一次尝试使用DI,我选择了ninject因为它据说很容易学习,并且有这个问题.

我正在创建这样的对象:

var registrants = JsonConvert.DeserializeObject<List<Registrant>>(input);

我目前有注册人的这个构造函数

[Inject]
public Registrant(IMemberRepository memberRepository)
{
    _memberRepository = memberRepository;
}

使用Ninject将存储库依赖项注入反序列化对象的最佳方法是什么?

解决方法

您不能对不是由Ninject创建的对象(例如反序列化对象)使用构造函数注入.但你可以使用属性注入.只需调用kernel.Inject(obj)

剩下的一个问题是你想要注入这些对象的原因.通常,您不希望对数据容器对象使用依赖注入.在适当的设计中,他们不依赖于服务.需要对服务执行的操作由数据容器对象的所有者完成.我建议考虑重构你的设计.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....