OWIN与Web Api基础

OWIN基础

OWIN是啥?

OWIN是.NET web服务器和web应用程序间的抽象标准。
标准化了一个web Application 完整的生命周期.所以,基于OWIN,可以剥离Web Application对IIS的依赖
借此,可以对整个ASP.NET 生命周期有一个完整的认识,以及学会在何处添加切入点.

OWIN 层次 以及 流程

大致Owin分为以下几个层:

  1. Server 这个是直接与客户端通信的HTTP服务器(比如IIS,Tomcat),然后使用OWIN处理请求.
    服务器需要OWIN框架提供一个适配层去转化.微软的Katana就有把IIS上的HTTPContext转化为OwinContext的Adapter
  2. Web Framework 这个是web框架,(Web Api,NancyFX)等都是.定义上是一个自包含的OWIN顶部的用于推进Owin管线组件.
  3. Web Application 这个就是你的应用程序,依托在web 框架之上的,可以在OWIN下运行的.
  4. Middleware 这个就相当于Httphandler,管理管道之间的服务器和应用程序,检查、 路由,或为特定目的修改请求和响应消息。
    常见的功能,比如身份验证,日志,文档.
  5. Host 宿主程序,负责应用程序初始化和启动工作,一些Server也是宿主,比如IIS.

OWIN pipeline process

英文教程

中文教程

WebApi

WebApi是啥?

Web Api 是微软提供的一套设计优雅的Rest Api 框架.我猜八成是微软也看system.web不爽好久了..所以重新设计一套管线.

流程

整个WebApi,其实也就两块核心,路由,动态内容返回.
当然,还可以利用HttpMessageHandler来设置诸如Gzip之类的.也可以添加Filter.

整个路由过程,就是从IIS得到请求开始,到进入Action结束.
内容返回,是从Action执行完毕返回的Object开始,根据Action返回值以及内容协商约定,动态返回HttpResponse返回具体结果结束.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • Web测试基础 I. 如何开展Web测试 Web测试的对象 Web的页面元素 Web的业务逻辑 Web的数据行为 ...
    厲铆兄阅读 4,415评论 4 62
  • Awesome DotNet,这又是一个 Awesome XXX 系列的资源整理,由 quozd 发起和维护。内容...
    小明yz阅读 3,785评论 0 47
  • 人间最美夕阳景,夙夜含情鼓瑟鸣。 挚爱白头携手老,悠然康泰度余生。
    不惑而歌阅读 811评论 19 18
  • 一些人 一些事 一些想法 一些作為 我的生活似乎被這些種種一些所左右著 直到現在 都清楚的記得 高考英語作文 我寫...
    方圆的猫_阅读 197评论 0 0