在WebAPI和MVC之间共享内核

安德鲁·达菲

我有一个简单的MVC4网站,它使用ASP.NET webAPI和MVC页面。

我想对两种控制器类型都使用Ninject DI,但我想知道如何做到这一点?

我已经为WebAPI工作了Ninject DI,但是现在不确定如何优雅地共享同一内核。

我应该使用两种依赖解析器都可以引用的某种内核单例吗?

有人对此有经验吗?

干杯。

cvbarros

您应该IKernel对单个应用程序级组合根使用相同的实例,可能是WebApiMVC控制器。

如果您使用的是Ninject.MVC3软件包:

文件夹NinjectWebCommon.cs初始化内核后App_Start,您已经可以访问它。对于MVC控制器,您无需执行其他任何操作即可使Ninject DI正常工作。

但是对于WebAPI控制器,您需要使用DependencyResolver来将依赖项注入到控制器中。使用解析器的实现,然后将其设置为所有WebAPI控制器的解析器,如下所示:

  1. 绑定NinjectDependencyResolver到自我(可选),里面RegisterServicesNinjectWebCommon.cs

    kernel.Bind<NinjectDependencyResolver>().ToSelf();
    
  2. 设置WepAPI配置以使用您的解析器,通常在内部WebApiConfig.cs

    public static void Register(HttpConfiguration config)
    {
        //Other initialization code
        config.DependencyResolver = (new   Bootstrapper()).Kernel.Get<NinjectDependencyResolver>();
    }
    

这将适合所有共享相同控制器的方案IKernel

希望有帮助!

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在WebApi和MVC控制器之间共享逻辑?

来自分类Dev

在WebApi和MVC项目之间共享SignalR集线器

来自分类Dev

OWIN在WebAPI和MVC应用程序之间共享声明

来自分类Dev

OWIN在WebAPI和MVC应用程序之间共享声明

来自分类Dev

SignalR,WebAPI和MVC共享相同的依赖解析器内核

来自分类Dev

内核空间和用户空间之间的大共享内存

来自分类Dev

用户空间和内核空间之间的共享信号量

来自分类Dev

内核和用户模式之间的共享内存。如何分享句柄?

来自分类Dev

保护内核和用户空间之间的共享内存段

来自分类Dev

Windows CE:在OAL和内核驱动程序之间共享内存

来自分类Dev

Windows CE:在OAL和内核驱动程序之间共享内存

来自分类Dev

TLB是否在多个内核之间共享?

来自分类Dev

在进程之间共享内核对象

来自分类Dev

启动内核时共享内存和流

来自分类Dev

启动内核时共享内存和流

来自分类Dev

如何在内核模块和用户空间应用程序之间共享相同的头文件。

来自分类Dev

QOpenGLContext和QGLWidget之间的共享

来自分类Dev

在Azure移动服务项目和Asp.Net MVC项目之间共享数据库

来自分类Dev

如何在MVC应用程序和控制台应用程序之间共享信息

来自分类Dev

在MVC4和类库之间共享会话的最佳方法

来自分类Dev

内核哎呀和内核恐慌之间有什么区别?

来自分类Dev

对MVC和WebAPI使用ninjectDependecyResolver

来自分类Dev

在cgroup和外界之间分配CPU内核

来自分类Dev

MVC在存储库之间共享DbContext

来自分类Dev

PHP MVC-模型之间的共享方法

来自分类Dev

当我们需要在进程之间共享状态时,如何控制Python中的内核和处理器数量

来自分类Dev

跨多个Solr 4.6内核的共享架构和配置

来自分类Dev

Webapi,Webhost和Owin之间的关系

来自分类Dev

在OpenGL和CUDA之间共享纹理

Related 相关文章

  1. 1

    在WebApi和MVC控制器之间共享逻辑?

  2. 2

    在WebApi和MVC项目之间共享SignalR集线器

  3. 3

    OWIN在WebAPI和MVC应用程序之间共享声明

  4. 4

    OWIN在WebAPI和MVC应用程序之间共享声明

  5. 5

    SignalR,WebAPI和MVC共享相同的依赖解析器内核

  6. 6

    内核空间和用户空间之间的大共享内存

  7. 7

    用户空间和内核空间之间的共享信号量

  8. 8

    内核和用户模式之间的共享内存。如何分享句柄?

  9. 9

    保护内核和用户空间之间的共享内存段

  10. 10

    Windows CE:在OAL和内核驱动程序之间共享内存

  11. 11

    Windows CE:在OAL和内核驱动程序之间共享内存

  12. 12

    TLB是否在多个内核之间共享?

  13. 13

    在进程之间共享内核对象

  14. 14

    启动内核时共享内存和流

  15. 15

    启动内核时共享内存和流

  16. 16

    如何在内核模块和用户空间应用程序之间共享相同的头文件。

  17. 17

    QOpenGLContext和QGLWidget之间的共享

  18. 18

    在Azure移动服务项目和Asp.Net MVC项目之间共享数据库

  19. 19

    如何在MVC应用程序和控制台应用程序之间共享信息

  20. 20

    在MVC4和类库之间共享会话的最佳方法

  21. 21

    内核哎呀和内核恐慌之间有什么区别?

  22. 22

    对MVC和WebAPI使用ninjectDependecyResolver

  23. 23

    在cgroup和外界之间分配CPU内核

  24. 24

    MVC在存储库之间共享DbContext

  25. 25

    PHP MVC-模型之间的共享方法

  26. 26

    当我们需要在进程之间共享状态时,如何控制Python中的内核和处理器数量

  27. 27

    跨多个Solr 4.6内核的共享架构和配置

  28. 28

    Webapi,Webhost和Owin之间的关系

  29. 29

    在OpenGL和CUDA之间共享纹理

热门标签

归档