ASP.NET Core的幾種服務器類型[共6篇]

作爲ASP.NET CORE請求處理管道的“龍頭”的服務器負責監聽和接收請求並最終完成對請求的響應。它將原始的請求上下文描述爲相應的特性(Feature),並以此將HttpContext上下文創建出來,中間件針對HttpContext上下文的所有操作將藉助於這些特性轉移到原始的請求上下文上。除了我們最常用的Kestrel服務器,ASP.NET CORE還提供了其他類型的服務器。

[1]自定義一個服務器

作爲ASP.NET Core請求處理管道的“龍頭”的服務器負責監聽和接收請求並最終完成對請求的響應。它將原始的請求上下文描述爲相應的特性(Feature),並以此將HttpContext上下文創建出來,中間件針對HttpContext上下文的所有操作將藉助於這些特性轉移到原始的請求上下文上。學習ASP.NET Core框架最有效的方式就是按照它的原理“再造”一個框架,瞭解服務器的本質最好的手段就是試着自定義一個服務器。閱讀更多…

[2]KestrelServer詳解:註冊監聽終結點(Endpoint)

具有跨平臺能力的KestrelServer是最重要的服務器類型。針對KestrelServer的設置均體現在KestrelServerOptions配置選項上,註冊的終結點是它承載的最重要的配置選項。這裏所謂的終結點(Endpoint)與“路由”介紹的終結點不是一回事,這裏表示的就是服務器在監聽請求時綁定的網絡地址,對應着一個System.Net.Endpoint對象。我們知道ASP.NET Core應用承載API也提供了註冊監聽地址的方法,其本質其實也是爲了註冊終結點,那麼兩種註冊方式如何取捨呢?閱讀更多…

[3]KestrelServer詳解: 網絡連接的創建

《註冊監聽終結點》已經詳細講述瞭如何使用KestrelServer,現在我們來簡單聊聊這種處理器的總體設計和實現原理。當KestrelServer啓動的時候,註冊的每個終結點將轉換成對應的“連接監聽器”,後者在監聽到初始請求時會創建“連接”,請求的接收和響應的回覆都在這個連接中完成。閱讀更多…

[4]KestrelServer詳解: 自定義一個迷你版的KestrelServer

和所有的服務器一樣,KestrelServer最終需要解決的是網絡傳輸的問題。在《網絡連接的創建》,我們介紹了KestrelServer如何利用連接接聽器的建立網絡連接,並再次基礎上演示瞭如何直接利用建立的連接接收請求和回覆響應。本篇更進一步,我們根據其總體設計,定義了迷你版的KestrelServer讓讀者看看這個重要的服務器大體是如何實現的。閱讀更多…

[5]ASP.NET Core 在 IIS 下的兩種部署模式

KestrelServer最大的優勢體現在它的跨平臺的能力,如果ASP.NET Core應用只需要部署在Windows環境下,IIS也是不錯的選擇。ASP.NET CORE應用針對IIS具有兩種部署模式,它們都依賴於一個IIS針對ASP.NET CORE Core的擴展模塊。閱讀更多…

[6]ASP.NET Core高性能服務器HTTP.SYS

如果我們只需要將ASP.NET CORE應用部署到Windows環境下,並且希望獲得更好的性能,那麼我們選擇的服務器類型應該是HTTP.SYS。Windows環境下任何針對HTTP的網絡監聽器/服務器在性能上都無法與HTTP.SYS比肩。閱讀更多…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章