ASP.NET Core中的属性注入

奥兹古尔·卡普兰(Ozgur Kaplan)

我正在尝试将ASP.NET应用程序移植到ASP.NET Core。我在UnitOfWork实现上进行了属性注入(使用Ninject),如下所示:

[Inject]
public IOrderRepository OrderRepository { get; set; }
[Inject]
public ICustomerRepository CustomerRepository { get; set; }

是否可以使用.NET Core上的内置DI实现相同的功能?另外,是否可以使用基于约定的绑定?

不,有意使内置的DI / IoC容器在使用和功能上都保持简单,从而为其他DI容器的插入提供了基础。

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

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

请注意,在所有情况下,属性注入在98%的情况下都被认为是不好的,因为它隐藏了依赖关系,并且不能保证在创建类时将注入对象。

使用构造函数注入,您可以通过构造函数强制执行此操作,并检查null和not创建类的实例。通过属性注入,这是不可能的,并且在单元测试期间,当在构造函数中未定义类时,类所需的服务/依赖项也不明显,因此很容易错过和获取NullReferenceExceptions

我发现属性注入的唯一有效理由是将服务注入到第三方库生成的代理类中,即从您无法控制对象创建的接口创建的WCF代理。甚至在那里,它仅适用于第三方库。如果您自己生成WCF代理,则可以轻松地通过扩展代理类,partial class并添加新的DI友好构造函数,方法或属性。

避免其他任何地方使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET Core中的依赖注入

来自分类Dev

ASP.NET Core中的属性

来自分类Dev

ASP.NET Core中的属性

来自分类Dev

ASP.net Core中的即时依赖注入

来自分类Dev

ASP.NET Core Worker Service中的依赖项注入

来自分类Dev

通过 Asp.Net Core 依赖注入添加 AutoMapper 并注入到配置文件中

来自分类Dev

在ASP.NET Core中注入IUrlHelper

来自分类Dev

ASP.NET Core和注入IServiceProvider

来自分类Dev

如何使用Autofac和ASP.NET Core在控制器上启用属性注入?

来自分类Dev

如何使用Autofac和ASP.NET Core在控制器上启用属性注入?

来自分类Dev

DryIoC 不会将属性注入 ASP.NET Core MVC 控制器

来自分类Dev

ASP.NET Core 1.0中的属性路由

来自分类Dev

显示属性中的ASP .Net Core 3.0简称(DataAnnotations)

来自分类Dev

ASP.NET Core中的位置记录属性

来自分类Dev

ASP.NET Core中的Config.json属性替换

来自分类Dev

ASP.NET Core:显示属性中的 ShortName (DataAnnotations)

来自分类Dev

ASP.NET Core依赖注入,使用参数注入

来自分类Dev

将Cookie添加到Asp.Net Core中依赖注入的HttpClient中

来自分类Dev

ASP.NET MVC中的依赖注入

来自分类Dev

ASP.NET 5依赖注入-[FromServices]属性仅在控制器中起作用吗?

来自分类Dev

在ASP.NET Core中将依赖项注入到Automapper TypeConverter中

来自分类Dev

ASP.NET Core / MVC 6 ViewModel中的依赖项注入(DI)

来自分类Dev

注入DbContext时无法访问ASP.NET Core中的已处置对象

来自分类Dev

如何在ASP.NET Core中将依赖项注入模型中?

来自分类常见问题

SQL-ASP.NET Core 2.1.7中的有意注入

来自分类Dev

在ASP.NET Core中的中间件中注入服务

来自分类Dev

在ASP.NET Core中初始化依赖项注入时传递参数

来自分类Dev

ASP.Net Core中的简单服务注入不会调用构造函数

来自分类Dev

何时通过依赖项注入将DbContext实例放置在ASP.NET Core 5中

Related 相关文章

  1. 1

    ASP.NET Core中的依赖注入

  2. 2

    ASP.NET Core中的属性

  3. 3

    ASP.NET Core中的属性

  4. 4

    ASP.net Core中的即时依赖注入

  5. 5

    ASP.NET Core Worker Service中的依赖项注入

  6. 6

    通过 Asp.Net Core 依赖注入添加 AutoMapper 并注入到配置文件中

  7. 7

    在ASP.NET Core中注入IUrlHelper

  8. 8

    ASP.NET Core和注入IServiceProvider

  9. 9

    如何使用Autofac和ASP.NET Core在控制器上启用属性注入?

  10. 10

    如何使用Autofac和ASP.NET Core在控制器上启用属性注入?

  11. 11

    DryIoC 不会将属性注入 ASP.NET Core MVC 控制器

  12. 12

    ASP.NET Core 1.0中的属性路由

  13. 13

    显示属性中的ASP .Net Core 3.0简称(DataAnnotations)

  14. 14

    ASP.NET Core中的位置记录属性

  15. 15

    ASP.NET Core中的Config.json属性替换

  16. 16

    ASP.NET Core:显示属性中的 ShortName (DataAnnotations)

  17. 17

    ASP.NET Core依赖注入,使用参数注入

  18. 18

    将Cookie添加到Asp.Net Core中依赖注入的HttpClient中

  19. 19

    ASP.NET MVC中的依赖注入

  20. 20

    ASP.NET 5依赖注入-[FromServices]属性仅在控制器中起作用吗?

  21. 21

    在ASP.NET Core中将依赖项注入到Automapper TypeConverter中

  22. 22

    ASP.NET Core / MVC 6 ViewModel中的依赖项注入(DI)

  23. 23

    注入DbContext时无法访问ASP.NET Core中的已处置对象

  24. 24

    如何在ASP.NET Core中将依赖项注入模型中?

  25. 25

    SQL-ASP.NET Core 2.1.7中的有意注入

  26. 26

    在ASP.NET Core中的中间件中注入服务

  27. 27

    在ASP.NET Core中初始化依赖项注入时传递参数

  28. 28

    ASP.Net Core中的简单服务注入不会调用构造函数

  29. 29

    何时通过依赖项注入将DbContext实例放置在ASP.NET Core 5中

热门标签

归档