OWIN Katana 与 ASP.NET 核心 Docker 容器相比如何
How does OWIN Katana compare to ASP.NET Core Docker Containers
我对微软的路线图感到困惑。 OWIN的用途是将一个web app从IIS中分离出来,因此开发了OWIN。现在 IIS 可以托管 OWIN 开发的应用程序,或者说任何 Web 服务器都可以托管 OWIN 应用程序。事实上,OWIN 应用程序可以自托管,这意味着不需要 Web 服务器(本身)——自托管是一个轻量级 Web 服务器。
所以现在进入画面 ASP.NET 核心与 Docker 容器。这些是否需要 OWIN,或者它们是完全不同的动物?它们可以与 OWIN 共存吗?为什么将 OWIN 与 Docker 一起使用?为什么选择 Docker 而不是 OWIN。关于使用 Microsoft 技术的 Web 应用程序的正确方向和未来的许多问题。也许我很厚,没有抓住要点。随意喷我。
首先,OWIN 不是微软开发的。这是微软购买的第三方规范。在 Microsoft 偏离该规范之前并没有持续很长时间,尽管您仍然可以构建基于 OWIN 的应用程序,但标准的 Microsoft 中间件不是 OWIN(尽管它在某种程度上基于 OWIN)。
其次,容器与此无关。容器只是一个分发和运行时环境,它将应用程序隔离到它自己的虚拟 space 中,而没有完全 OS 虚拟化的开销。这与 IIS、ASP.NET 或 OWIN 无关。
最后,Microsoft 的.net 核心自托管Web 服务器称为Kestrel,它实际上可以通过shim 模块链接到IIS(没有应用程序的IIS 依赖项)。或者它可以是一个独立的 HTTP 服务器。
此外,OWIN 的主要目的之一是从应用程序中抽象出 HTTP 上下文,并且使用 .net 核心,他们有机会重新设计 HttpContext 以独立于 IIS,因此大大减少了这种需求在 .NET 核心中。仍然需要中间件,所以团队开发了自己的类似中间件,没有了 OWIN 的一些限制。
Open Web Interface for .NET (OWIN) 定义了 .NET Web 服务器和 Web 应用程序之间的抽象。 OWIN 只是一个规范。
Katana 是 Microsoft 对 OWIN 规范 的实现。但是,我们简称为(OWIN)中间件。
无论您是通过 ASP.NET Core Module 在 IIS 后面自托管 ASP.NET 应用程序还是 运行,请求仍会通过 OWIN Middlware (MVC 请求生命周期中的橙色框循环)。
相同的概念仍然适用于 Docker 容器。
我对微软的路线图感到困惑。 OWIN的用途是将一个web app从IIS中分离出来,因此开发了OWIN。现在 IIS 可以托管 OWIN 开发的应用程序,或者说任何 Web 服务器都可以托管 OWIN 应用程序。事实上,OWIN 应用程序可以自托管,这意味着不需要 Web 服务器(本身)——自托管是一个轻量级 Web 服务器。
所以现在进入画面 ASP.NET 核心与 Docker 容器。这些是否需要 OWIN,或者它们是完全不同的动物?它们可以与 OWIN 共存吗?为什么将 OWIN 与 Docker 一起使用?为什么选择 Docker 而不是 OWIN。关于使用 Microsoft 技术的 Web 应用程序的正确方向和未来的许多问题。也许我很厚,没有抓住要点。随意喷我。
首先,OWIN 不是微软开发的。这是微软购买的第三方规范。在 Microsoft 偏离该规范之前并没有持续很长时间,尽管您仍然可以构建基于 OWIN 的应用程序,但标准的 Microsoft 中间件不是 OWIN(尽管它在某种程度上基于 OWIN)。
其次,容器与此无关。容器只是一个分发和运行时环境,它将应用程序隔离到它自己的虚拟 space 中,而没有完全 OS 虚拟化的开销。这与 IIS、ASP.NET 或 OWIN 无关。
最后,Microsoft 的.net 核心自托管Web 服务器称为Kestrel,它实际上可以通过shim 模块链接到IIS(没有应用程序的IIS 依赖项)。或者它可以是一个独立的 HTTP 服务器。
此外,OWIN 的主要目的之一是从应用程序中抽象出 HTTP 上下文,并且使用 .net 核心,他们有机会重新设计 HttpContext 以独立于 IIS,因此大大减少了这种需求在 .NET 核心中。仍然需要中间件,所以团队开发了自己的类似中间件,没有了 OWIN 的一些限制。
Open Web Interface for .NET (OWIN) 定义了 .NET Web 服务器和 Web 应用程序之间的抽象。 OWIN 只是一个规范。
Katana 是 Microsoft 对 OWIN 规范 的实现。但是,我们简称为(OWIN)中间件。
无论您是通过 ASP.NET Core Module 在 IIS 后面自托管 ASP.NET 应用程序还是 运行,请求仍会通过 OWIN Middlware (MVC 请求生命周期中的橙色框循环)。
相同的概念仍然适用于 Docker 容器。