ASP.NETCore服務(wù)器是什么

這篇文章主要講解了“ASP.NET Core服務(wù)器是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ASP.NET Core服務(wù)器是什么”吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站重做改版、榮縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為榮縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

ASP.NET Core應(yīng)用通過一個(gè)進(jìn)程內(nèi)的HTTP服務(wù)器實(shí)例實(shí)現(xiàn)運(yùn)行,這個(gè)服務(wù)器實(shí)例偵聽HTTP請(qǐng)求并將請(qǐng)求作為組成HttpContext的一組請(qǐng)求功能集暴露給我們的應(yīng)用程序。

ASP.NET Core搭載兩個(gè)服務(wù)器實(shí)現(xiàn):

  • Kestrel是一個(gè)基于libuv的跨平臺(tái)HTTP服務(wù)器,libuv是一個(gè)跨平臺(tái)的異步I/O庫(kù)

  • WebListener是一個(gè)基于HTTP.SYS內(nèi)核驅(qū)動(dòng)的“Windows專用”HTTP服務(wù)器

Kestrel

Kestrel是包含在ASP.NET Core新項(xiàng)目模板中默認(rèn)的web服務(wù)器。如果你的應(yīng)用只接收來自內(nèi)部網(wǎng)絡(luò)的請(qǐng)求,你可以只使用Kestrel本身。

如果你將你的應(yīng)用部署在公共網(wǎng)絡(luò)上,我們建議你使用IIS,Nginx或者Apache作為反向代理服務(wù)器。一個(gè)反向代理服務(wù)器接收來自網(wǎng)絡(luò)的HTTP請(qǐng)求并且在經(jīng)過一些初步處理后將請(qǐng)求傳遞到Kestrel服務(wù)器。過程如下圖所示。

對(duì)edge deployments(從公共網(wǎng)絡(luò)上接觸到流量的部署方式)使用反向代理最重要的一個(gè)原因就是安全性。因?yàn)镵estrel相對(duì)較新,對(duì)抵御安全攻擊至今還沒有一個(gè)完整的功能補(bǔ)充。安全性處理包括但不限于適當(dāng)?shù)某瑫r(shí),大小的限制,以及并發(fā)連接限制等問題。有關(guān)何時(shí)使用Kestrel與反向代理的更多信息,請(qǐng)參見Kestrel。

IIS with Kestrel

當(dāng)你使用IIS或者IIS Express作為對(duì)ASP.NET Core的反向代理時(shí),ASP.NET Core應(yīng)用將運(yùn)行在由該IIS工作進(jìn)程分離出的一個(gè)進(jìn)程中。在該IIS進(jìn)程中,存在著一個(gè)特殊的IIS模塊,它被用來協(xié)調(diào)反向代理的關(guān)系。它就是ASP.NET Core模塊。ASP.NET Core模塊的主要功能包括啟動(dòng)ASP.NET Core應(yīng)用,當(dāng)應(yīng)用崩潰時(shí)處理重啟,向應(yīng)用傳送HTTP流量。更多的信息,請(qǐng)參考ASP.NET Core Module。

Nginx with Kestrel

有關(guān)如何在Linux使用Nginx作為對(duì)Kestrel的反向代理服務(wù)器的更多信息,請(qǐng)參考Publish to a Linux Production Environment。

Apache with Kestrel

有關(guān)如何在Linux使用Apache作為對(duì)Kestrel的反向代理服務(wù)器的更多信息,請(qǐng)參考Using Apache Web Server as a reverse proxy。

Jexus with Kestrel

有關(guān)如何在Linux使用Jexus作為對(duì)Kestrel的轉(zhuǎn)發(fā)服務(wù)器的更多信息,請(qǐng)參考 Jexus 5.8.2 正式發(fā)布為Asp.Net Core進(jìn)入生產(chǎn)環(huán)境提供平臺(tái)支持

WebListener

如果你在Windows上運(yùn)行你的ASP.NET Core應(yīng)用,你可以會(huì)遇到以下場(chǎng)景——你既想要在公共網(wǎng)絡(luò)上部署你的應(yīng)用,又不能使用IIS,這時(shí),WebListener會(huì)是一個(gè)可供替代的選擇。

當(dāng)你只想要在內(nèi)網(wǎng)中部署你的應(yīng)用時(shí),WebListener可以被用來代替Kestrel,特別是當(dāng)你需要Weblistener服務(wù)器支持功能中的某項(xiàng)而Kestrel恰好不支持的時(shí)候。

對(duì)于內(nèi)部網(wǎng)絡(luò)場(chǎng)景,為了能達(dá)到最好的性能表現(xiàn),我們通常推薦Kestrel服務(wù)器,但是在另一些場(chǎng)景中,你可以想要使用某項(xiàng)僅WebListener支持的功能。關(guān)于WebListener功能的更多信息,請(qǐng)參考WebListener。

ASP.NET Core 服務(wù)器基礎(chǔ)組件說明

IApplicationBuilderStartup類中的Configure方法暴露了IFeatureCollection類的ServerFeatures屬性。Kestrel和WebListener服務(wù)器都只提供了一個(gè)單一的功能,IServerAddressesFeature,但是不同的服務(wù)器實(shí)現(xiàn)可能會(huì)顯示額外的功能。

IServerAddressesFeature可以用來找出哪些服務(wù)器實(shí)例端口在運(yùn)行時(shí)被綁定。

ServerFeatures 的注釋為“Gets the set of HTTP features the application's server providers”。

自定義服務(wù)器

你可以創(chuàng)建自定義服務(wù)器實(shí)現(xiàn)以用來替代Kestrel或者WebListener。Open Web Interface for .NET(OWIN) guide 說明了怎么去實(shí)現(xiàn)一個(gè)Nowin-based IServer。你可以自由地實(shí)現(xiàn)你的應(yīng)用所需的功能接口,但至少必須支持IHttpRequestFeatureIHttpRequestFeature接口。

感謝各位的閱讀,以上就是“ASP.NET Core服務(wù)器是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)ASP.NET Core服務(wù)器是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)名稱:ASP.NETCore服務(wù)器是什么
文章路徑:http://muchs.cn/article0/gjspoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、企業(yè)建站、軟件開發(fā)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)