using Microsoft.AspNet.Builder; using Microsoft.Owin.Builder; using Owin; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Yavsc { using Microsoft.AspNet.SignalR; using AppFunc = Func, Task>; public static class BuilderExtensions { public static IApplicationBuilder UseAppBuilder( this IApplicationBuilder app, Action configure) { app.UseOwin(addToPipeline => { addToPipeline(next => { var appBuilder = new AppBuilder(); appBuilder.Properties["builder.DefaultApp"] = next; configure(appBuilder); return appBuilder.Build(); }); }); return app; } public static void UseSignalR(this IApplicationBuilder app, string path = "/signalr") { app.UseAppBuilder(appBuilder => appBuilder.MapSignalR( path, new HubConfiguration() { EnableDetailedErrors = true, EnableJSONP = true } )); } } }