OWIN基礎
OWIN是啥?
OWIN是.NET web服務器和web應用程序間的抽象標準姐仅。
標準化了一個web Application 完整的生命周期.所以,基于OWIN,可以剝離Web Application對IIS的依賴
借此,可以對整個ASP.NET 生命周期有一個完整的認識,以及學會在何處添加切入點.
OWIN 層次 以及 流程
大致Owin分為以下幾個層:
- Server 這個是直接與客戶端通信的HTTP服務器(比如IIS,Tomcat),然后使用OWIN處理請求.
服務器需要OWIN框架提供一個適配層去轉化.微軟的Katana就有把IIS上的HTTPContext轉化為OwinContext的Adapter
- Web Framework 這個是web框架,(Web Api,NancyFX)等都是.定義上是一個自包含的OWIN頂部的用于推進Owin管線組件.
- Web Application 這個就是你的應用程序,依托在web 框架之上的,可以在OWIN下運行的.
- Middleware 這個就相當于Httphandler,管理管道之間的服務器和應用程序构捡,檢查分瘦、 路由老速,或為特定目的修改請求和響應消息宪睹。
常見的功能,比如身份驗證,日志,文檔.
- Host 宿主程序,負責應用程序初始化和啟動工作,一些Server也是宿主,比如IIS.
OWIN pipeline process
英文教程
中文教程
WebApi
WebApi是啥?
Web Api 是微軟提供的一套設計優(yōu)雅的Rest Api 框架.我猜八成是微軟也看system.web不爽好久了..所以重新設計一套管線.
流程
整個WebApi,其實也就兩塊核心,路由,動態(tài)內容返回.
當然,還可以利用HttpMessageHandler來設置諸如Gzip之類的.也可以添加Filter.
整個路由過程,就是從IIS得到請求開始,到進入Action結束.
內容返回,是從Action執(zhí)行完畢返回的Object開始,根據Action返回值以及內容協(xié)商約定,動態(tài)返回HttpResponse返回具體結果結束.
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者