ASP.NET 5 (aspnet vnext) is OWIN based like Katana was, but has different abstractions. Notably IAppBuilder
has been replaced by IApplicationBuilder
.
Edit: you can now use the AspNet.Hosting.Katana.Extensions package for that.
Here's a slightly different version, that uses AppBuilder.DefaultApp
:
public static IApplicationBuilder UseOwinAppBuilder(this IApplicationBuilder app, Action configuration)
{
if (app == null)
{
throw new ArgumentNullException(nameof(app));
}
if (configuration == null)
{
throw new ArgumentNullException(nameof(configuration));
}
return app.UseOwin(setup => setup(next =>
{
var builder = new AppBuilder();
var lifetime = (IApplicationLifetime) app.ApplicationServices.GetService(typeof(IApplicationLifetime));
var properties = new AppProperties(builder.Properties);
properties.AppName = app.ApplicationServices.GetApplicationUniqueIdentifier();
properties.OnAppDisposing = lifetime.ApplicationStopping;
properties.DefaultApp = next;
configuration(builder);
return builder.Build, Task>>();
}));
}
Note that referencing Microsoft.Owin
makes your app incompatible with dnxcore50
(Core CLR).