I recently spoke at the Windsor-Essex .NET Developers group and was explaining to some developers that ASP.NET Core could run on the full .NET Framework.
The reaction I got was slight confusion. Based on this, I assume there are others that were unaware of this.
The other issue is the term “Full Framework”. I’m not sure if this is the common term, but I have heard it from many as reference to the .NET Framework that comes shipped with Windows. This is the framework most are using today.
The reason you may want to use ASP.NET Core with Full Framework is because you are already using an Owin implementation like Katana.
ASP.NET Core supports Owin Middleware. Which means you could migrate your Katana Self Host to use ASP.NET Core with Kestrel.
File > New Project
If you haven’t already, you need to install the .NET Core SDK for Visual Studio. As of this post, 2016-07-06, Visual Studio 2015 Update 3 has the latest bits.
When you create a new project in Visual Studio, you have the option of created a ASP.NET Core app, but using .NET Full Framework.
In this example I’m going to create a empty web application.
The next step is to install the Microsoft.AspNetCore.Owin package from Nuget. This will enable use to Owin Middleware from ASP.NET Core’s IApplicationBuilder.
As you may have already seen on my blog, I’m a fan of Nancy and have been using it with Katana for awhile now.
In order to use Nancy with ASP.NET Core, we can install the same packages we needed when using it with Katana.
Now in our Startup.cs we can add Owin to our pipeline which then can call Nancy.
The ASP.NET docs have a section related to OWIN that you may find useful.
It is noted in these docs that multiple calls to UseOwin are discouraged for performance reasons and they should be grouped together.
Let me know if you have migrated your self host Katana or other OWIN Compatible server/application/middleware to ASP.NET Core 1.0