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返回具体结果结束.

你可能感兴趣的:(OWIN与Web Api基础)