Run different frameworks side-by-side with OWIN

后端 未结 1 1401
再見小時候
再見小時候 2020-12-17 03:28

My impression of one of the big benefits of Owin is that it makes it easy to run different web frameworks side-by-side without IIS\'s IHttpHandler. (This would

相关标签:
1条回答
  • 2020-12-17 03:37

    Although the use case sounds a bit absurd, you're absolutely right that OWIN enables this. You can compose your pipeline in all kinds of crazy ways.

    Straight Pipeline

    A typical "straight" pipeline would look something like this:

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseWebApi(new MyHttpConfiguration());
            app.MapSignalR();
            app.UseNancy();
        }
    }
    

    This will work as follows (given you're hosting on http://localhost/)

    • WebAPI - http://localhost/api/* (default routing)
    • SignalR - http://localhost/signalr (default route)
    • Nancy - http://localhost/* (will handle everything else)

    Branched Pipeline

    You can also create branches in your pipeline:

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseWebApi(new MyHttpConfiguration());
    
            app.Map("/newSite", site =>
            {
                site.MapSignalR();
                site.UseNancy();
            });
        }
    }
    

    This will work as follows (given you're hosting on http://localhost/)

    • WebAPI - http://localhost/api/* (default routing)
    • SignalR - http://localhost/newSite/signalr (default route)
    • Nancy - http://localhost/newSite/* (will handle everything else)
    0 讨论(0)
提交回复
热议问题