依赖注入 – Asp.Net Core中的属性注入

依赖注入 – Asp.Net Core中的属性注入,第1张

概述我正在尝试将asp.net应用程序移植到asp.net核心.我在我的UnitOfWork实现上有属性注入(使用ninject). [Inject]public IOrderRepository OrderRepository { get; set; }[Inject]public ICustomerRepository CustomerRepository { get; set; } 有没有 我正在尝试将asp.net应用程序移植到asp.net核心.我在我的UnitOfWork实现上有属性注入(使用ninject).
[Inject]public IOrderRepository OrderRepository { get; set; }[Inject]public ICustomerRepository CustomerRepository { get; set; }

有没有办法在.net核心上使用DI构建来实现相同的功能?是否可以使用基于约定的绑定?

不,内置的DI / IoC容器在使用和功能方面都有意保持简单,为其他DI容器插件提供了基础.

因此,没有内置支持:自动发现,自动注册,装饰器或注入器,或基于约定的注册.据我所知,目前还没有计划将其添加到内置容器中.

您必须使用具有属性注入支持的第三方容器.

请注意,在98%的场景中,属性注入被认为是错误的,因为它隐藏了依赖关系,并且无法保证在创建类时将注入对象.

使用构造函数注入,您可以通过构造函数强制执行此 *** 作并检查null,而不是创建类的实例.使用属性注入这是不可能的,并且在单元测试期间,当它们未在构造函数中定义时,类不需要哪些服务/依赖项,因此很容易错过并获得NullReferenceExceptions.

我发现属性注入的唯一正当理由是将服务注入到由第三方库生成的代理类中,即从您无法控制对象创建的接口创建的WCF代理.

在其他地方避免它.

总结

以上是内存溢出为你收集整理的依赖注入 – Asp.Net Core中的属性注入全部内容,希望文章能够帮你解决依赖注入 – Asp.Net Core中的属性注入所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存