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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

ASP.NETCore的Kestrel服务器

發(fā)布時(shí)間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NETCore的Kestrel服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是Kestrel服務(wù)器

?

Kestrel是開源的(GitHub提供的源代碼),事件驅(qū)動(dòng)的異步I / O服務(wù)器,用于在任何平臺(tái)上托管ASP.NET應(yīng)用程序。這是一個(gè)監(jiān)聽服務(wù)器和一個(gè)命令行界面。您將偵聽服務(wù)器安裝在Windows或Linux服務(wù)器上,并在計(jì)算機(jī)上安裝命令行界面(安裝.netcore會(huì)自動(dòng)一整套安裝)。(Kestrel發(fā)音:?['kestr(?)l])

它是與ASP.NET Core一起由微軟推出的。所有ASP.NET Core應(yīng)用程序都使用新的MVC框架和Kestrel Web服務(wù)器。這些新的應(yīng)用程序可以運(yùn)行在完整的.NET Framework或.NET Core上。

Kestrel Web服務(wù)器的概述

Kestrel被認(rèn)為是較新的ASP.NET應(yīng)用程序的首選Web服務(wù)器(請(qǐng)參閱這篇文章與IIS比較,?why you need both)。它j機(jī)遇?libuv library,與node.js使用的庫(kù)相同。Libuv支持事件驅(qū)動(dòng)的編程風(fēng)格。它的一些核心工具包括:

  • 非阻塞網(wǎng)絡(luò)支持

  • 異步文件系統(tǒng)訪問

  • 計(jì)時(shí)器

  • 子進(jìn)程

它允許ASP.NET Core應(yīng)用程序在其他跨平臺(tái)的Web服務(wù)器(如Jexus,Nginx和Apache)上輕松運(yùn)行,而無(wú)需解決不同的啟動(dòng)配置。通過(guò)使用Kestrel作為進(jìn)程內(nèi)服務(wù)器,?即使有跨平臺(tái)支持,應(yīng)用程序也將具有一致的處理(Startup (Main(),?Startup.ConfigireServices(),?Startup.Configure())

?

Kestrel Web服務(wù)器的工作原理

應(yīng)用程序通常是為了響應(yīng)人的行為而編寫的。使用事件驅(qū)動(dòng)的編程,有一個(gè)循環(huán)來(lái)監(jiān)聽事件。然后觸發(fā)一個(gè)回調(diào)函數(shù)。為了減少SYS調(diào)用的數(shù)量,所有其他工作都在標(biāo)準(zhǔn).NET工作線程的托管代碼中執(zhí)行。

Kestrel提供了一個(gè)事件循環(huán)和基于回調(diào)的I / O通知。Libuv管理從操作系統(tǒng)收集和監(jiān)視事件。此外,用戶可以在事件發(fā)生時(shí)注冊(cè)回調(diào)。所以,Kestrel使用libuv進(jìn)行I / O工作,并支持運(yùn)行多個(gè)事件循環(huán)。

由于它輕巧,Kestrel不允許你進(jìn)行SSL termination,URL重寫或GZip壓縮,但是相同的輕量級(jí)設(shè)計(jì)使他比起其他服務(wù)器會(huì)更快。實(shí)際上,它比靜態(tài)和純文本操作的node.js快6倍。

Kestrel的好處

Kestrel支持.NET Core支持的所有平臺(tái)和版本。此外,它默認(rèn)包含的ASP.NET Core新項(xiàng)目模板中,可以提供更好的請(qǐng)求處理的性能。在Visual Studio中創(chuàng)建新項(xiàng)目時(shí),項(xiàng)目會(huì)自動(dòng)配置為在Kestrel中運(yùn)行。

如前所述,這不是一個(gè)功能齊全的網(wǎng)絡(luò)服務(wù)器,但這正是為什么它很快。如果您覺得需要速度,Kestrel就是答案 - 特別是因?yàn)樗辉O(shè)計(jì)用于ASP.NETCore的生產(chǎn)。

你可以做的是在一個(gè)功能更全面的網(wǎng)絡(luò)服務(wù)器(如IIS或NGNIX)之后運(yùn)行它。您可以使用HttpPlatformHandler在IIS?后面運(yùn)行它,或者在Visual Studio?后面使用HttpPlatformHandler在IIS Express?后面運(yùn)行它。而且,您需要在ASP.NET Core項(xiàng)目中支持它,以便開發(fā)人員可以在任何支持的平臺(tái)上方便地運(yùn)行它們。

現(xiàn)在,即使您不是跨平臺(tái)的,也可以直接從web服務(wù)器命令行上運(yùn)行ASP.NET。

由于Kestrel不是一個(gè)全功能的Web服務(wù)器,您應(yīng)該讓web程序在在IIS或NGNIX?之后運(yùn)行(IIS;Jexus或者NGINX代理web程序,提供轉(zhuǎn)發(fā)到Kestrel的形式工作)。它旨在使ASP.NET盡可能快,但其管理安全性和提供靜態(tài)文件的能力有限。如果您使用的是Kestrel作為web服務(wù)器的ASP.NET Core,則 可以利用?Prefix來(lái)實(shí)現(xiàn)強(qiáng)大的代碼分析功能。

原文地址:https://www.cnblogs.com/xiaoliangge/p/8387772.html


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總 http://www.csharpkit.com

總結(jié)

以上是生活随笔為你收集整理的ASP.NETCore的Kestrel服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。