如何将Ninject注入与基于Owin令牌的Web API身份验证一起使用

时间:2019-01-22 20:15:01

标签: asp.net-web-api owin ninject

我正在创建WEB API,它将与ninject依赖项注入和基于OWIN令牌的身份验证一起使用。我的Web api控制器只有一个构造函数,期望ninject的DbContext对象作为参数。直到我在Project中添加OWIN启动项,WebAPI才能成功工作。但是,当我添加OWIN启动项并尝试请求WebAPI控制器时,下面出现错误。

First Error

根据我的研究,有人建议安装Ninject.Web.Common.OwinHost和Ninject.Web.WebApi.OwinHost软件包,然后将额外的app.UseNinjectMiddleWare,app.UseNinjectWebApi代码添加到“配置”功能中,如下所示。

public void Configuration(IAppBuilder app)
{ 
    HttpConfiguration httpConfiguration = new HttpConfiguration(); 
    ConfigureOAuth(app);             
    app.UseNinjectMiddleware(NinjectWebCommon.CreateKernel);
    app.UseNinjectWebApi(httpConfiguration);
    WebApiConfig.Register(httpConfiguration);
    app.UseWebApi(httpConfiguration);       
}

但是当我这样设计OWIN Startup时,我开始遇到不同的错误,如下所示。

Second Error

在这种情况下,如何才能同时使用Ninject和基于OWIN令牌的身份验证?

非常感谢。

0 个答案:

没有答案