动态IoC控制器解析ASP.NET 5

Gekctek

我正在尝试制作类似于Mvc的路由系统,在该系统中,用户创建类/控制器,并且将HTTP请求路由到它们。我掌握了所有的基础知识,并且在很大程度上通过使用反射来工作。

当我尝试IoC /依赖项注入/服务解析器时,会发生问题。我希望人们能够通过仅在构造函数中声明所需内容并将其添加到IoC容器中来创建一个注入服务的控制器(就像mvc一样)。我能够通过/使用System.IServiceProvider在我需要的控制器类型上调用GetService(Type)。除非我将控制器类型专门添加到IoC容器,否则这将无法工作。不需要在Mvc for IoC中注册控制器,因此我确定有一种解决方法。

我尝试使用反射从正在运行的程序集/应用程序域中查找所有“ ControllerBase”子类,并在启动时将它们添加到IServiceProvider / IServiceCollection吗?但是,似乎改用ASP.NET 5 / Dnx核心5似乎已经改变了appdomain和程序集的工作方式或访问方式。在无需用户注册每个控制器的情况下如何自动完成此操作的任何方向都很好。此外,任何有关mvc如何执行此操作的信息也将很棒。

斯塔斯·博亚林切夫(Stas Boyarincev)

使用依赖注入创建对象实例的代码:

public void ConfigureServices(IServiceCollection services)
{
    HomeController controller;

    var controllerFactory = Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateFactory(typeof(HomeController), Type.EmptyTypes);
    controller = (HomeController)controllerFactory(services.BuildServiceProvider(), null);
}

要创建MVC类型,请使用实例DefaultTypeActivatorCache并且它使用静态对象ActivatorUtilities

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态IoC控制器解析ASP.NET 5

来自分类Dev

ASP.NET MVC 5动态控制器路由

来自分类Dev

ASP.NET 5非控制器DI注入

来自分类Dev

ASP.Net 5配置依赖项注入和静态控制器构造函数

来自分类Dev

ASP.NET 5 / MVC 6 Ajax将模型发布到控制器

来自分类Dev

添加用于ASP.NET 5控制器单元测试的会话

来自分类Dev

在asp.net MVC 5中是否可以有一个匿名控制器?

来自分类Dev

如何在控制器ASP.NET MVC 5上禁用默认路由

来自分类Dev

将整个对象从视图传递到ASP.NET MVC 5中的控制器

来自分类Dev

在ASP.NET 5中创建基于请求控制器/操作的格式化程序

来自分类Dev

ASP.NET MVC 5 Url是否重写以包含控制器中的所有操作?

来自分类Dev

ASP.NET MVC5:对具有会话的控制器进行单元测试

来自分类Dev

Asp.Net MVC 5没有添加新控制器?

来自分类Dev

ASP.NET MVC 5不调用控制器创建方法

来自分类Dev

Javascript错误导致ASP.NET MVC 5调用控制器方法

来自分类Dev

仅可使用RedirectToAction访问ASP.NET MVC5控制器操作

来自分类Dev

使用ajax从文本框发送数据到asp.net MVC 5控制器

来自分类Dev

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

来自分类Dev

带有UserManager的ASP.NET 5单元测试控制器

来自分类Dev

控制器外部的ASP.NET 5 DI应用程序设置

来自分类Dev

ASP.NET 5 MVC中部分视图的控制器

来自分类Dev

ASP.NET 5 MVC中部分视图的控制器

来自分类Dev

在asp.net MVC 5中是否可以有一个匿名控制器?

来自分类Dev

如何从ASP.NET MVC控制器上的HTML5 Web表单获取数据?

来自分类Dev

ASP.NET MVC5 RoutePrefix控制器名称

来自分类Dev

1个控制器处理2个模型,ASP.NET,MVC5

来自分类Dev

ASP.NET 5中API控制器的输出缓存

来自分类Dev

使用ajax从文本框发送数据到asp.net MVC 5控制器

来自分类Dev

在ASP.NET 5中为Web API控制器模拟HttpContext

Related 相关文章

  1. 1

    动态IoC控制器解析ASP.NET 5

  2. 2

    ASP.NET MVC 5动态控制器路由

  3. 3

    ASP.NET 5非控制器DI注入

  4. 4

    ASP.Net 5配置依赖项注入和静态控制器构造函数

  5. 5

    ASP.NET 5 / MVC 6 Ajax将模型发布到控制器

  6. 6

    添加用于ASP.NET 5控制器单元测试的会话

  7. 7

    在asp.net MVC 5中是否可以有一个匿名控制器?

  8. 8

    如何在控制器ASP.NET MVC 5上禁用默认路由

  9. 9

    将整个对象从视图传递到ASP.NET MVC 5中的控制器

  10. 10

    在ASP.NET 5中创建基于请求控制器/操作的格式化程序

  11. 11

    ASP.NET MVC 5 Url是否重写以包含控制器中的所有操作?

  12. 12

    ASP.NET MVC5:对具有会话的控制器进行单元测试

  13. 13

    Asp.Net MVC 5没有添加新控制器?

  14. 14

    ASP.NET MVC 5不调用控制器创建方法

  15. 15

    Javascript错误导致ASP.NET MVC 5调用控制器方法

  16. 16

    仅可使用RedirectToAction访问ASP.NET MVC5控制器操作

  17. 17

    使用ajax从文本框发送数据到asp.net MVC 5控制器

  18. 18

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

  19. 19

    带有UserManager的ASP.NET 5单元测试控制器

  20. 20

    控制器外部的ASP.NET 5 DI应用程序设置

  21. 21

    ASP.NET 5 MVC中部分视图的控制器

  22. 22

    ASP.NET 5 MVC中部分视图的控制器

  23. 23

    在asp.net MVC 5中是否可以有一个匿名控制器?

  24. 24

    如何从ASP.NET MVC控制器上的HTML5 Web表单获取数据?

  25. 25

    ASP.NET MVC5 RoutePrefix控制器名称

  26. 26

    1个控制器处理2个模型,ASP.NET,MVC5

  27. 27

    ASP.NET 5中API控制器的输出缓存

  28. 28

    使用ajax从文本框发送数据到asp.net MVC 5控制器

  29. 29

    在ASP.NET 5中为Web API控制器模拟HttpContext

热门标签

归档