ASP.NET MVC Owin 基本理解

1、OWIN  安全

  OWIN(Open Web Interface for .Net),定義了一個服務器(IIS)和Web應用程序(MVC,Webform)通訊的標準接口,而且經過抽象層使得這兩個在微軟平臺結合緊密的組件彼此解耦。經過將Web服務器從應用程序解耦,使得爲.NET Web開發建立中間件和移植Web應用程序到其餘託管——好比,Window服務或其餘進程的自我託管——變得更加容易,使得便攜式 .NET Web 應用以及跨平臺的願望成爲現實, 標準的 OWIN 應用能夠在任何 OWIN 兼容的服務器上運行, 再也不依賴與 Windows 和 IIS ,沒有 Windows , 更沒有 IIS , OWIN 應用就能正常運行。服務器

  主要包括如下組件:框架

  服務器 (Server)spa

    HTTP 服務器直接與客戶端交互, 並用 OWIN 語義處理請求,服務器須要一個適配層將客戶請求轉換 成 OWIN 語義。 支持 OWIN 的服務器有 Katana 和 Nowin ,orm

       Web 框架 (Web Framework)中間件

    構建在 OWIN 之上的自包含的獨立組件, 向 Web 應用提供可用的對象模型或者接口。 Web 框架可 能須要一個適配層來轉換 OWIN 語義。 支持 OWIN 的 Web 框架有:對象

    • Nancy
    • SignalR
    • WebApi
    • FubuMVC
    • Simple.Web
    • DuoVia.Http

  Web 應用 (Web Application)
    一個特定的 Web 應用, 一般構建在 Web 框架之上, 使用 OWIN 兼容的服務器運行。
  中間件 (Middleware)
    特定目的的服務器和應用之間的可插拔組件, 能夠監視、 路由、 修改請求與響應。
  宿主 (Host)
    應用與服務器所在的進程, 主要負責應用的啓動, 有些服務器自身也是宿主, 好比 Nowin 。blog

 

2、Katana接口

  OWIN是一組規範,沒有具體的實現,katana就是微軟對OWIN規則的一組實現,其包含組件,包含了ASP.NET的Microsoft.Owin.Host.System.Web、自託管的環境(控制檯,服務)的Microsoft.Owin.Host.HttpListenter 監聽,還包括中間件模塊主要有:進程

  Microsoft.Owin.Compression(壓縮模塊)

  Microsoft.Owin.Cors(跨源資源共享模塊)

  Microsoft.Owin.Security.*(安全模塊)

  Microsoft.Owin.StaiticFiles(靜態文件訪問模塊)

  這些OWIN 組件都是經過經過 NuGet 包的形式發佈,與.NET框架版本分離,不出如今添加引用的界面內。

  另外,OWIN的實現還有 Freya、ASP.NET vNext。

相關文章
相關標籤/搜索