gpt4 book ai didi

asp.net - 如何用简单的语言和用法解释 Katana 和 OWIN?

转载 作者:行者123 更新时间:2023-12-01 22:54:26 27 4
gpt4 key购买 nike

我已经阅读了很多关于 OWIN 和 Katana 项目的文章,但我无法了解它的全貌。

对于使用 ASP.NET 的普通 Web 开发人员:

  • OWIN 到底是什么以及它解决了什么问题(简单来说)。它与 IIS 有什么关系?
  • OWIN 会取代 IIS 吗?如果不是,OWIN 最适合什么情况?
  • OWIN 如何在我的日常工作项目中帮助我?
  • OWIN 如何帮助我进行自我提升项目?
  • 最佳答案

    关于上面的评论,OWIN 不是一个框架。 OWIN 是关于应如何构建 Web 服务器和 Web 应用程序以将它们解耦并允许将 ASP.NET 应用程序移动到以前不支持的环境的规范。

    在 OWIN 之前,在构建 ASP.NET 应用程序时,由于对 System.Web 的严重依赖,您本质上是绑定(bind)到 IIS 的。集会。
    System.Web是自 ASP(非 .NET 版本)以来就存在的东西,内部包含许多您甚至可能不需要的东西(例如 Web 窗体或 URL 授权),默认情况下,它们都在每个请求上运行,从而消耗资源并使 ASP .NET 应用程序通常比 Node.js 等同类应用程序慢得多。

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

    另一方面,Katana 是一个完全开发的框架,旨在在当前的 ASP.NET 框架和 OWIN 规范之间架起一座桥梁。目前,Katana 已成功将以下 ASP.NET 框架适配到 OWIN:

  • Web API
  • 信号 R

  • ASP.NET MVC 和 Web 窗体仍然只通过 System.Web 运行,从长远来看,也有计划将它们解耦。

    另一方面,IIS 是一个很好的、资源丰富的 Web 服务器主机。使用 IIS 的整个 ASP.NET 性能问题都源于 System.Web只要。直到最近,在决定如何托管 Web 服务器时,您有两个选择:
  • IIS
  • 自托管

  • 因此,如果您想要表演,您会选择自托管。如果您需要 IIS 提供的许多开箱即用的功能,您会选择 IIS,但会损失性能。

    现在,有第三个选项,名为 Helios 的 Microsoft 库。 (当前代号)打算删除 System.Web的方式,并允许您以更“更干净”的方式使用 IIS,而无需任何不必要的库或模块。 Helios 现在是预发布版本,正在等待更多社区反馈以使其完全支持 Microsoft 产品。

    希望这个解释能更好地为你澄清事情。

    编辑(2014 年 9 月):

    随着 ASP.NET vNext 的开发,Katana 正在慢慢退役。 3.0 版很可能是 Katana 作为独立框架的最后一个主要版本。

    然而,Katana 引入的所有概念都被集成到 ASP.NET vNext 中,这意味着编程模型将几乎相同。引自 forum post由 David Fowler(ASP.NET vNext 的架构师)制作:

    vNext is the successor to Katana (which is why they look so similar). Katana was the beginning of the break away from System.Web and to more modular components for the web stack. You can see vNext as a continuation of that work but going much further (new CLR, new Project System, new http abstractions).

    Everything that exists today in Katana will make it's way into vNext.



    编辑(2015 年 2 月):

    ASP.NET vNext 现在称为 ASP.NET 5,将建立在 .NET Core 5 之上。.NET Core 5 是 .NET Framework 的轻量级分解版本,旨在支持 ASP.NET 5 和 .NET Native 的目标.但是,.NET Framework 4.6 也将支持 ASP.NET 5,它应该与 .NET Core 5 一起提供。ASP.NET 5 和 .NET Core 5 都将获得 MIT 许可,并接受社区贡献。

    编辑(2015 年 5 月):

    此外,ASP.NET Web API 品牌将停产,但其技术将成为新 ASP.NET MVC 6 的基础。以前的 ASP.NET MVC 版本是通过实现 IHttpHandler 构建的,IHttpHandler 是 System.Web 中定义的接口(interface)。 . ASP.NET MVC 6 消除了这种依赖性,使其可移植到各种平台和 Web 服务器。

    编辑(2016 年 5 月):

    从计划即将发布的候选版本 2 开始,ASP.NET 5 将正式更名为 ASP.NET Core。同样适用于 Entity Framework 7,它将重命名为 Entity Framework Core。有关官方公告及其背后原因的更多信息可以在 Scott Hanselman 的博客文章中找到:
    ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0

    编辑(2016 年 5 月):

    随着候选版本 2 的发布, ASP.NET Core 已被修改,以便 future 的 Web 应用程序实际上只是设置用于处理传入 HTTP 请求的 .NET Core 控制台应用程序 .这一概念使 ASP.NET Core 更加符合 Microsoft 所采用的微服务架构支持及其通过 Azure Service Fabric 实现的方法。可以在官方博客文章中找到更多信息:
    Announcing ASP.NET Core RC2

    关于asp.net - 如何用简单的语言和用法解释 Katana 和 OWIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20524060/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com