日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Katana概述

發布時間:2023/12/18 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Katana概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OWIN

owin是web services和framework組件之間的抽象。抽象包括兩個核心要素:

  • environment dictionary 這個數據結構存儲處理HTTP請求必須的狀態和相關的服務器狀態。定義如下:

    IDictionary<string, object>
  • application delegate 服務于OWIN application中所有組件的主主要接口。定義下:

    Func<IDictionary<string, object>, Task>;
  • 使用OWIN的例子

    安裝Microsoft.Owin.Host.SystemWeb包(可以使基于OWIN的應用程序運行在IIS上)

    public class Startup {public void Configuration(IAppBuilder app){app.Run(context =>{context.Response.ContentType = "text/plain";return context.Response.WriteAsync("Hello World!");});} }

    安裝OwinHost包(使用Katana的HttpListener-base server)

    Katana的架構

    Host

    host負責:

    • 管理底層的進程
    • 構造OWIN pipline處理請求

    目前Katana提供了3中host方式:

  • IIS/ASP.NET 使用HttpModule和HttpHandler的方式,OWIN piplines可以運行在IIS上。需要安裝Microsoft.AspNet.Host.SystemWebNuGet包。

    namespace OWINTest{public class Startup1{public void Configuration(IAppBuilder app){// 有關如何配置應用程序的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkID=316888app.Run(context =>{context.Response.ContentType = "text/plain";return context.Response.WriteAsync("Hello, world.");});} }}
  • Custom Host 使用自定義進行進行托管applications

  • 安裝Microsoft.Owin.SelfHost包,使用控制臺程序作為宿主,運行StartUp1

    namespace Test{class Program{static void Main(string[] args){using (Microsoft.Owin.Hosting.WebApp.Start<Startup1>("http://localhost:9000")){Console.WriteLine("Press [enter] to quit...");Console.ReadLine();}}}}
  • OwinHost.exe 提供了運行app的簡單啟動方式
  • Server

    server負責打開一個network socket,監聽request,通過開發者指定的OWIN pipline(pipline的確定是在application的StartUp類中)發送請求。Katana項目提供了兩種實現:

    • Microsoft.Owin.Host.SystemWeb:IIS和ASP.NET pipline合作作為host與server。Katana 注冊一個HttpModule和HttpHandler攔截請求,發送請求到指定的OWIN pipline

    • Microsoft.Owin.Host.HttpListener:使用.NET Framework的HttpListener類打開一個socket,發送請求到指定的OWIN pipline。當前OwinHost.ext和Katana self-host選擇它作為默認的server。

    Middleware

    server接收客戶端的請求,通過開發者在StartUp中指定的OWIN組件構成的pipline傳遞請求。這些pipline組件就是middleware

    Applications

    OWIN和Katana是一種解耦server和host的編程模型和框架的抽象。當構建一個Web Api應用時,開發者框架繼續使用ASP.NET Web API框架,而不用關心應用程序是否運行在使用Katana項目組件構成的OWIN pipline上。與OWIN相關的代碼盡在StartUp類中,在此開發者使用UseXX注冊一系列的組件,構成OWIN pipline,每個組件處理都進入的請求。這與現在System.Web中的HTTP modules具有相同的效果

    轉載于:https://www.cnblogs.com/goodlucklzq/p/4498123.html

    總結

    以上是生活随笔為你收集整理的Katana概述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。