所以我有一个包含许多项目的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两次。有没有办法解决这个问题?