我正在研究如何在OWIN中使用DI容器。我想知道你是否可以提供源自Microsoft.Owin.Builder.AppBuilder
基本上是方法
public void Configuration(IAppBuilder app)
在我的启动类中调用我想访问容器。我想用容器注册我的中间件组件,以便它们可以有其他依赖项。容器已在应用程序的Global.asax.cs文件中注册。我可以把它变成静态,所以我可以从任何地方引用它,但我不想这样做。
您可以指定自己的AppBuilder实现吗?
答案 0 :(得分:1)
远远,远远超过ILSpying:
var options = new StartOptions();
options.Settings["Microsoft.Owin.Hosting.Builder.IAppBuilderFactory"] = "MyNamespace.MyAppBuilderFactory,My.Assembly.Name";
var webServer = Microsoft.Owin.Hosting.WebApp.Start(options);
public class MyAppBuilderFactory : IAppBuilderFactory
{
public IAppBuilder Create()
{
return new MyAppBuilder();
}
}