Ninject与Owin的多个实例

时间:2015-03-23 20:28:12

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

所以我有一个包含许多项目的Visual Studio解决方案。一个项目(Host)有一个像这样的启动方法:

[assembly: OwinStartup(typeof(Startup))]
namespace DMSServer.Host
{
  public class Startup
  {
    public void Configuration(IAppBuilder app)
    {
      app.UseService1();
      app.UseService2();
    }
  }
}

两个单独的WebApi项目,一个包含UseService1方法,另一个包含UseService2。在这些UseServiceX方法中,我使用Owin中间件设置Ninject内核和Ninject WebApi。

//In project1
public static IAppBuilder UseService1(this IAppBuilder app)
{
  app.UseNinjectMiddleware(NinjectConfig.CreateKernel);
  var httpConfig = new HttpConfiguration();
  app.UseNinjectWebApi(httpConfig)
  return app;
}
===========================================================
//In project2
public static IAppBuilder UseService2(this IAppBuilder app)
{
  app.UseNinjectMiddleware(NinjectConfig.CreateKernel);
  var httpConfig = new HttpConfiguration();
  app.UseNinjectWebApi(httpConfig)
  return app;
}

每当我运行应用程序时都会出现问题,因为我在相同的app上调用了UseNinjectMiddleware两次。有没有办法解决这个问题?

enter image description here

0 个答案:

没有答案