Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it still relevant to use Owin / Katana with ASP.NET Core (actual use case)?

Based on the answer here: How to explain Katana and OWIN in simple words and uses?

Regarding the comment above, OWIN is not a framework. OWIN is a specification on how web servers and web applications should be built in order to decouple one from another and allow movement of ASP.NET applications to environments where at the current state it is not possible.

Prior to OWIN, when you are building ASP.NET application, you are inheritedly bound to IIS due to the heavy dependency on System.Web assembly.

System.Web is something that exist ever since ASP (non .NET version) and internally contains many things that you might not even need (such as Web Forms or URL Authorization), which by the default run on every request, thus consuming the resources and making ASP.NET applications in general lot slower than it's counterparts at i.e. Node.js.

So OWIN itself does not have any tools, libraries or anything else. It is just a specification.

If OWIN is just a specification with Katana its .NET implementation in order for ASP.NET applications to not be bound with IIS, then in the case of ASP.NET Core applications working with Kestrell and another webserver like nginx (acting as a reverse proxy) why we would still need OWIN?

like image 599
Natalie Perret Avatar asked Jun 18 '18 00:06

Natalie Perret


1 Answers

ASP.NET Core is an evolution of the Microsoft.Owin.*, what Microsoft refers to as Katana.

The Microsoft.Owin.* libraries are not available for .NET Core because ASP.NET Core has equivalent replacements for them. See https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/

like image 108
RickAndMSFT Avatar answered Oct 13 '22 15:10

RickAndMSFT