我正在创建WEB API,它将与ninject依赖项注入和基于OWIN令牌的身份验证一起使用。我的Web api控制器只有一个构造函数,期望ninject的DbContext对象作为参数。直到我在Project中添加OWIN启动项,WebAPI才能成功工作。但是,当我添加OWIN启动项并尝试请求WebAPI控制器时,下面出现错误。
根据我的研究,有人建议安装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时,我开始遇到不同的错误,如下所示。
在这种情况下,如何才能同时使用Ninject和基于OWIN令牌的身份验证?
非常感谢。