首页 > 解决方案 > 将 Owin / Katana 与 ASP.NET Core(实际用例)一起使用是否仍然相关?

问题描述

基于这里的答案:如何用简单的语言和用法来解释 Katana 和 OWIN?

关于上面的评论,OWIN 不是一个框架。OWIN 是关于应如何构建 Web 服务器和 Web 应用程序的规范,以便将它们彼此分离,并允许将 ASP.NET 应用程序移动到在当前状态下不可能的环境。

在 OWIN 之前,当您构建 ASP.NET 应用程序时,由于对 System.Web 程序集的严重依赖,您继承地绑定到 IIS。

System.Web 是自 ASP(非 .NET 版本)以来就存在的东西,内部包含许多您甚至可能不需要的东西(例如 Web 表单或 URL 授权),默认情况下在每个请求上运行,从而消耗资源并且使 ASP.NET 应用程序通常比它在 ie Node.js 上的对应物慢得多。

所以 OWIN 本身没有任何工具、库或其他任何东西。这只是一个规范。

如果 OWIN 只是 Katana 其 .NET 实现的规范,以便 ASP.NET 应用程序不与 IIS 绑定,那么在 ASP.NET Core 应用程序与 Kestrell 和另一个网络服务器(如 nginx)一起工作的情况下(充当反向代理) ) 为什么我们仍然需要 OWIN?

标签: c#asp.net-coreowin

解决方案


ASP.NET Core 是 .NET 的演变Microsoft.Owin.*,微软将其称为 Katana。

这些Microsoft.Owin.*库不适用于 .NET Core,因为 ASP.NET Core 有等效的替代品。请参阅https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/


推荐阅读