架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21600|回复: 1

[WebAPI] 使用OWIN 为WebAPI 宿主服务

[复制链接]
发表于 2017-1-10 14:24:24 | 显示全部楼层 |阅读模式
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的一种实现。
通过下面几张图可以更直观地理解:

241803517776656.png

241805030596645.png


了解了一些基础理论,下面我们来实际开发。

OWIN Self-Host ASP.NET Web API 2首先我们创建一个空的控制台项目:
443844-20151230110416104-360678543.jpg

然后通过Nuget来安装 Microsoft.AspNet.WebApi.OwinSelfHost
443844-20151230110434307-678751022.jpg
我们也可以打开NuGet控制台..输入命令:Install-Package Microsoft.AspNet.WebApi.OwinSelfHost

然后我们再添加一个OWIN启动类名为Startup 如下:

443844-20151230110502917-1010320994.jpg

Startup中编写代码如下:


下面我们编写一个WebAPI的控制器,代码如下:

最后我们启动OWIN,在Program.cs 加入以下代码:



启动控制台程序,然后访问我们刚才设置的地址:

http://localhost:8080/api/Account


QQ截图20170110141856.jpg




上一篇:IAppBuilder接口没有UseWebApi方法
下一篇:由于启动计算机时出现了页面文件配置问题,Windows 在您的计算机上创建了一个临时
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2017-1-10 14:24:55 | 显示全部楼层
IAppBuilder接口没有UseWebApi方法
http://www.itsvse.com/thread-3453-1-1.html
(出处: 架构师)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-24 13:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表