是否可以使用我自己的派生AppBuilder类与OWIN和Katana

时间:2014-09-02 02:00:28

标签: c# owin

我正在研究如何在OWIN中使用DI容器。我想知道你是否可以提供源自Microsoft.Owin.Builder.AppBuilder

的班级

基本上是方法

public void Configuration(IAppBuilder app)

在我的启动类中调用我想访问容器。我想用容器注册我的中间件组件,以便它们可以有其他依赖项。容器已在应用程序的Global.asax.cs文件中注册。我可以把它变成静态,所以我可以从任何地方引用它,但我不想这样做。

您可以指定自己的AppBuilder实现吗?

1 个答案:

答案 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();
    }
}