Owin详情

作者 : 开心源码 本文共1076个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共138人阅读

什么是OWIN?

OWIN的英文全称是Open Web Interface for .NET。

假如仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口。
那Web接口是谁和谁之间的接口呢?是Web应用程序与Web服务器之间的接口,OWIN就是.NET Web应用程序与Web服务器之间的接口。

为什么需要这样一个接口呢?由于.NET Web应用程序是运行于Web服务器之中的,.NET Web应用程序需要通过Web服务器接收客户的请求,并且通过Web服务器将响应内容发送客户。假如没有这样一个接口,.NET Web应用程序就要依赖于所运行的具体Web服务器,比方ASP.NET应用程序要依赖于IIS。有了这个接口,ASP.NET应用程序只要依赖这个笼统接口,不用关心所运行的Web服务器。

所以,OWIN的作用就是通过引入一组笼统接口,解耦了.NET Web应用程序与Web服务器,再次表现了接口的重要性。在软件开发中,每次解耦都是一次很大的进步。

【进一步的了解】

OWIN是对ASP.NET Runtime的笼统。
ASP.NET 5.0是OWIN的一种实现
通过下面几张图可以更直观地了解:

image.pngimage.pngimage.pngimage.png

我对Owin了解

OWIN是一个规范和标准,旨在阐述web服务器和web应用应该如何去解耦,它使得本来不太可能迁移到其余环境的ASP.NET应用变得可能。

在OWIN之前,当我们在写ASP.NET应用的时候,我们的思想里是默认将我们的应用绑定到IIS上的,由于我们要依赖System.Web这个程序集。

System.Web这个程序集似乎在ASP的年代就存在着了,它包含的东西未必每个你都需要,但是每个默认每个请求都会使用这个资源,所以即可能造成少量白费。

要明白的是OWIN本身是一个规范,它没有什么dll啊exe之类的,我了解它就是一份文档而已。

基于Owin的延伸

Katana源于微软,是微软为了实现OWIN的规范而作的产品,它就是实实在在的程序集了,我们可以使用它了。现在的Katanna实现了:

Web API
SignalR
目前ASP.NET MVC和Web Forms还是只能在System.Web中运行,不过长期来看,这部分很会被解耦,被分离出来。ASP.NET在IIS里的性能开销多半也是因为System.Web这个解不开根源,不过现在,我们有两个方式去搭建运行环境:

IIS
自宿主(Self-Host)
假如你想性能好点,你可以采取自宿主的方式;假如你想用到IIS那些为你做好的功能,那就用IIS吧。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Owin详情

发表回复