问题描述
我想控制OWIN创建注册中间件的方式。例如,使用以下代码注册MyCustomMiddleware
时:
app.Use<MyCustomMiddleware>();
我想成为调用MyCustomMiddleware
构造函数并传递所有必需参数的人。出于动机,请想象一下以下情况:
我发现了一些有关如何将OWIN与SimpleInjector或Ninject一起使用的评论。但是我找不到任何与特定DI库无关的东西。
解决方法
app.Use((c,next) =>
{
IMiddleware middleware = new MyCustomMiddleware(...);
return middleware.InvokeAsync(c,_ => next());
});