免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
9.ASP.NET Core OutOfProcess Hosting

這篇文章中,我將詳細(xì)介紹ASP.NET Core OutOfProcess Hosting模型。強(qiáng)烈推薦你去看看我之前寫的ASP.NET Core InProcess以及ASP.NET Core中的 Kestrel Web服務(wù)器。這篇文章我將向大家詳細(xì)介紹下面幾個(gè)問題:

  1. 怎樣在ASP.NET Core中配置OutOfProcess Hosting?
  2. 什么是OutOfProcess Hosting?
  3. ASP.NET Core中OutOfProcess Hosting是如何工作的?
  4. 我們能否,不使用內(nèi)置的Kestrel Web服務(wù)器來運(yùn)行ASP.NET Core應(yīng)用程序?
  5. 如果Kestrel本身可以作為web服務(wù)器使用,可以直接處理傳入的HTTP請求,那么我們?yōu)槭裁葱枰聪虼矸?wù)器呢?

在開始學(xué)習(xí)OutOfProcess Hosting之前,我們先回顧一下InProcess Hosting。

ASP.NET Core InProcess Hosting

在前面的文章中,已經(jīng)了解到,為了配置InProcess Hosting,我們需要在項(xiàng)目文件中加入下面的代碼:

在ASP.NET Core的InProcess Hosting模型下,我們的應(yīng)用程序是托管在IIS工作進(jìn)程下的(也就是w3wp.exe,如果是使用IIS的話,如果使用的是IIS Express那么工作進(jìn)程就是iisexpress.exe).你需要牢記的一點(diǎn)就是:在InProcess 模型下,我們只有一個(gè)Web服務(wù)器,也就是IIS 服務(wù)器。

怎樣在ASP.NET Core中配置OutOfProcess Hosting?

我們可以有兩種方式,來配置OutOfProcess Hosting

方式一:

在項(xiàng)目文件下,添加一個(gè)AspNetCoreHostingModel節(jié)點(diǎn),值填寫OutOfProcess,:

方式二

默認(rèn)的Hosting方式就是OutOfProcess hosting,這也就意味著,你去掉AspNetCoreHostingModel節(jié)點(diǎn),默認(rèn)就是OutOfProcess Hosting了。

在ASP.NET Core中OutOfProcess Hosting

在OutOfProcess Hosting模型中,有兩種Web服務(wù)器:

  1. 內(nèi)置的web服務(wù)器就是Kestrel
  2. 另外的外部服務(wù)器就是IIS、Apache、以及Nginx

您需要記住的最重要的一點(diǎn)是,取決于您如何使用OutOfProcess托管模型運(yùn)行應(yīng)用程序,外部web服務(wù)器可能會被使用,也可能不會被使用。

我們已經(jīng)知道Kestrel web服務(wù)器是一個(gè)跨平臺的web服務(wù)器,并且是嵌入到ASP.NET Core的應(yīng)用程序中的。所以當(dāng)你使用OutOfProcess 托管模型的時(shí)候,Kestrel可能有以下幾種方式使用:

方式一:

我們可以使用Kestrel Web服務(wù)器作為面向internet的Web服務(wù)器,它將直接處理傳入的HTTP請求。在這個(gè)場景中,只有Kestrel服務(wù)器被使用了,也就是外部服務(wù)器沒有被使用。所以當(dāng)我們使用.NET Core CLI運(yùn)行ASP.NET Core應(yīng)用程序的時(shí)候,僅僅只有Kestrel服務(wù)器被使用了,用來處理HTTP請求。

方式二:

Kestrel Web服務(wù)器還可以與反向代理服務(wù)器(如IIS、Apache或Nginx)組合使用。那么你肯定有這樣的疑問:如果Kestrel本身可以作為web服務(wù)器使用,可以直接處理傳入的HTTP請求,那么我們?yōu)槭裁葱枰聪虼矸?wù)器呢?

這是因?yàn)榉聪虼矸?wù)器提供了一個(gè)額外的配置和安全層,這是Kestrel服務(wù)器無法提供的。同樣反向代理服務(wù)器,還維護(hù)著負(fù)載均衡。所以使用Kestrel服務(wù)器和反向代理服務(wù)器是一個(gè)很好的選擇。

因此,當(dāng)我們使用Kestrel服務(wù)器和反向代理服務(wù)器時(shí),反向代理服務(wù)器將接收來自客戶機(jī)的傳入HTTP請求,然后將該請求轉(zhuǎn)發(fā)到Kestrel服務(wù)器進(jìn)行處理。一旦Kestrel服務(wù)器處理了該請求,它就會將響應(yīng)發(fā)送回反向代理服務(wù)器,然后反向代理服務(wù)器通過internet將響應(yīng)發(fā)送回被請求的客戶機(jī),如下圖所示。

在后面的文章中,我將介紹我們怎么把ASP.NET Core應(yīng)用程序發(fā)布到IIS,并且把IIS作為一個(gè)反向代理服務(wù)器。

當(dāng)我們直接,在Visual Studio中運(yùn)行程序的時(shí)候,Visual Studio,默認(rèn)使用的是IIS Express?,F(xiàn)在我們可以改變項(xiàng)目文件:

<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>

由于我們已經(jīng)配置了進(jìn)程外托管模型,現(xiàn)在IIS Express充當(dāng)反向代理服務(wù)器,而Kestrel充當(dāng)內(nèi)部web服務(wù)器。

現(xiàn)在,IIS Express接收傳入的HTTP請求,然后將其轉(zhuǎn)發(fā)到Kestrel Web服務(wù)器進(jìn)行處理。Kestrel Web服務(wù)器處理請求并將響應(yīng)發(fā)送回IIS Express,而IIS Express又將響應(yīng)發(fā)送回客戶機(jī),即瀏覽器。

現(xiàn)在運(yùn)行應(yīng)用程序,您將看到工作進(jìn)程為dotnet。因此,當(dāng)您使用Out of Process Hosting模型時(shí),Kestrel Web服務(wù)器將托管應(yīng)用程序并處理請求,而不管您是否使用反向代理服務(wù)器。

還有一個(gè)很重要的需要記?。?strong>當(dāng)你使用.NET Core CLI運(yùn)行程序的時(shí)候,然后在默認(rèn)情況下,它會忽略你在應(yīng)用程序的項(xiàng)目文件中指定的主機(jī)設(shè)置,即csproj文件。在這種情況下,AspNetCoreHostingModel元素的值將被忽略。

.NET Core CLI總是使用OutOfProcess托管模型,并且Kestrel是web服務(wù)器,它將會托管ASP.NET Core應(yīng)用程序,并且處理HTTP請求。

我們可以不使用內(nèi)置的Kestrel服務(wù)器運(yùn)行ASP.NET Core應(yīng)用程序么?

答案是肯定可以的,當(dāng)我們使用InProcess hosting模型的時(shí)候,應(yīng)用程序是托管在IIS進(jìn)程中的也就是w3wp.exe或者iisexpress.exe中。這也就是意味著,在InProcess模型中,我們是沒有使用Kestrel服務(wù)器的。

在下面的文章中,我將帶領(lǐng)大家學(xué)習(xí)ASP.NET Core中的 launchSetting.json文件。這篇文章中,我已經(jīng)詳細(xì)介紹了OutOfProcess 托管模型,希望能幫到你。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET Core 進(jìn)程內(nèi)與進(jìn)程外的性能對比
10.ASP.NET Core launchSettings.json file
net Core程序在Windows Server 2008發(fā)布
如何在 ASP.Net Core 中使用 HTTP.sys WebServer ?
給服務(wù)器安裝IIS添加WEB服務(wù)器角色
ASP.NET Core 2.1發(fā)布路線圖
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服