亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.NET?Core托管模型CreateDefaultBuilder()方法

 更新時(shí)間:2022年02月09日 09:29:22   作者:痕跡g  
這篇文章介紹了ASP.NET?Core托管模型CreateDefaultBuilder()方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

讓我們討論一下 CreateDefaultBuilder() 方法究竟對配置和設(shè)置 Web 服務(wù)器的作用。從托管的角度來看,一個(gè)ASP.NET Web 應(yīng)用程序可以通過兩種方式托管,即進(jìn)程托管(InProcess)或進(jìn)程外托管(OutOfProcess)。

注:當(dāng)我們使用任何模板創(chuàng)建新 ASP.NET Core Web 應(yīng)用程序時(shí),默認(rèn)情況下,使用InProcess 托管創(chuàng)建項(xiàng)目文件,該托管用于在 IIS 或 IIS Express 方案中托管應(yīng)用程序。

如何驗(yàn)證是否在進(jìn)程內(nèi)?

為了驗(yàn)證上面的觀點(diǎn),打開項(xiàng)目屬性。右鍵單擊項(xiàng)目,然后從上下文菜單中選擇屬性選項(xiàng)。打開屬性窗口后,選擇"調(diào)試"并查看"托管模型"下拉列表的值,如下圖所示。下拉列表包含三個(gè)值,即默認(rèn)值(進(jìn)程內(nèi))、進(jìn)程內(nèi)和進(jìn)程外。

那么, 確認(rèn)默認(rèn)情況下它使用"進(jìn)程中"托管模型。

如何在ASP.NET Core中配置InProcess托管?

要為 ASP.NET Core Web 應(yīng)用程序配置 InProcess 托管,只有一個(gè)簡單的設(shè)置,只需將 元素添加到值為InProcess 的應(yīng)用程序項(xiàng)目文件中。為此,只需從解決方案資源管理器右鍵單擊應(yīng)用程序,然后單擊上下文菜單中的"編輯項(xiàng)目文件"選項(xiàng),如下代碼所示。

打開應(yīng)用程序項(xiàng)目文件后,請對其進(jìn)行修改,如下所示。此處添加元素并將其值設(shè)置為 InProcess。該節(jié)點(diǎn)也可以是OutOfProcess。

將托管模型設(shè)置為 InProcess 時(shí)會(huì)發(fā)生什么?

在 InProcess 托管的情況下(即當(dāng) CreateDefaultBuilder() 將值視為項(xiàng)目文件中 AspNetCoreHostingModel 元素的 InProcess 時(shí)),場景后面的 CreateDefaultBuilder() 方法內(nèi)部調(diào)用 UseIIS() 方法。然后在 IIS 工作程序(即 iIS 的 w3wp.exe 和 Iisxpress.exe 的 IISExpress)中托管應(yīng)用程序。

從性能的角度來看,InProcess 托管模型提供的請求吞吐量明顯高于 OutOfProcess 托管模型。

在 IIS 中,將用于執(zhí)行應(yīng)用程序的進(jìn)程名稱是 w3wp。同樣,如果是 IIS Express,則進(jìn)程名稱將是 iisexpress。

如何確定是否在InProcess進(jìn)程下執(zhí)行?

默認(rèn)情況下, 如果您要運(yùn)行該應(yīng)用程序,那么您將在瀏覽器中看到以下 “Hello World!” 輸出。

下面, 標(biāo)記了輸出“Hello World”位置的代碼片段, 位于Startup類的Configure()方法中, 如下所示。

為了確認(rèn)該應(yīng)用程序是在InProcess進(jìn)程下執(zhí)行, 將"Hello World!" 修改為顯示當(dāng)前的進(jìn)程名稱, 通過調(diào)用: System.Diagnostics.Process.GetCurrentProcess().ProcessName獲取當(dāng)前的進(jìn)程名稱, 如下所示。

再次啟動(dòng)程序, 將在瀏覽器中顯示以下信息, 如下所示。

這是因?yàn)槟J(rèn)情況下,Visual Studio 在運(yùn)行應(yīng)用程序時(shí)使用 IISExpress,如下圖所示。

什么是 IIS Express?

IIS Express 是 IIS 的輕量級(jí)自包含版本。它針對 Web 應(yīng)用程序開發(fā)進(jìn)行了優(yōu)化。您需要記住的最重要的一點(diǎn)是,我們僅在開發(fā)中使用 IIS Express,而不是生產(chǎn)。在生產(chǎn)中,我們通常使用 IIS。

為什么InProcess比OutOfProcess提供更好的性能?

在進(jìn)程外(OutOfProcess)托管的情況下,有 2 臺(tái) Web 服務(wù)器

一個(gè)內(nèi)部 Web 服務(wù)器一個(gè)外部 Web 服務(wù)器。

內(nèi)部 Web 服務(wù)器稱為Kestrel,外部Web 服務(wù)器可以是IIS、Nginx****或 Apache。使用 InProcess 托管模型時(shí),只有一個(gè)Web 服務(wù)器,即 IIS。因此,對于 InProcess 托管模型,我們在內(nèi)部和外部 Web 服務(wù)器之間導(dǎo)航請求沒有性能損失。這就是 InProcess 托管模型提供比 OutOfProcess 托管模型更高的請求吞吐量的原因。

InProcess Hosting(進(jìn)程托管)

在上面的內(nèi)容講到, 我們可以通過右鍵選擇屬性, 更改應(yīng)用程序的托管模型, 也可以通過右鍵編輯項(xiàng)目文件編輯節(jié)點(diǎn)來設(shè)置, 如下所示。

在ASP.NET Core中,使用 Inprocess 托管模型,我們的應(yīng)用程序?qū)⒃?IIS 工作程序中托管。最重要的一點(diǎn),需要記住的是,我們只有一個(gè)Web服務(wù)器,即 IIS服務(wù)器的情況下,InProcess托管,這將托管我們的應(yīng)用程序,如下圖所示。

什么是Kestrel Web 服務(wù)器?

ASP.NET Core是一個(gè)跨平臺(tái)框架。 這意味著它支持在不同類型的操作系統(tǒng)(例如Windows,Linux或Mac)上開發(fā)和運(yùn)行應(yīng)用程序。

Kestrel是ASP.NET Core應(yīng)用程序的跨平臺(tái)Web服務(wù)器。 這意味著該服務(wù)器支持ASP.NET Core支持的所有平臺(tái)和版本。 默認(rèn)情況下,它包含在.NET Core應(yīng)用程序中作為內(nèi)部Web服務(wù)器。

Kestrel Web服務(wù)器通常用作邊緣服務(wù)器,即面向Internet的Web服務(wù)器,它直接處理來自客戶端的傳入HTTP請求。 對于Kestrel Web服務(wù)器,用于承載和運(yùn)行ASP.NET Core應(yīng)用程序的進(jìn)程名稱是項(xiàng)目名稱。

如何使用 Kestrel Web 服務(wù)器運(yùn)行應(yīng)用程序?

在使用 Kestrel 服務(wù)器運(yùn)行應(yīng)用程序之前,讓我們首先打開應(yīng)用程序的屬性文件夾中的launchSettings.json文件。打開launchSettings.json 文件后,默認(rèn)情況下,您將找到以下代碼。

在這里,您可以看到,我們有兩個(gè)部分。 一種用于IIS Express(IIS服務(wù)器),另一種用于Kestrel服務(wù)器。 在Visual Studio中,您可以找到上述兩個(gè)配置文件(IIS Express和FirstCoreWebApplication),如下所示。

如果選擇 IIS Express,則它將使用 IIS 服務(wù)器,如果您選擇 FirstCoreWeb 應(yīng)用程序,則它將使用 Kestrel 服務(wù)器。

使用 IIS Express 運(yùn)行應(yīng)用程序:

如果您使用 IIS Express 運(yùn)行應(yīng)用程序,則它將使用啟動(dòng)設(shè)置.json 文件中提及的 URL 和端口號(hào)。若要證明這使用 IIS Express 運(yùn)行應(yīng)用程序,請參閱如下所示的輸出(左邊是配置文件、右邊是瀏覽器輸出)。

使用 Kestrel 服務(wù)器運(yùn)行應(yīng)用程序:

為了使用 Kestrel 服務(wù)器在 Visual Studio 中運(yùn)行應(yīng)用程序,首先,您需要修改你的啟動(dòng)方式為你當(dāng)前的應(yīng)用程序名稱,如下所示。

選擇 應(yīng)用程序方式啟動(dòng)后,現(xiàn)在運(yùn)行該應(yīng)用程序。在這里,我們需要觀察兩件事。首先,它將啟動(dòng)命令提示符并使用 Kestrel 服務(wù)器托管應(yīng)用程序,如下所示。在這里,您需要關(guān)注 URL 和端口號(hào),并且應(yīng)該是launchSettings.json文件的WebApplication4(這里根據(jù)您實(shí)際的程序名稱顯示)配置文件中提到的URL和端口號(hào)。

請參閱如下所示的輸出(左邊是配置文件、右邊是瀏覽器輸出以及打開的.NETCLI輸出窗口)。

注:在這個(gè)的示例中,對于 IIS Express,端口號(hào)為 12166,輔助進(jìn)程為 iisexpress,而對于 Kestrel 服務(wù)器,端口號(hào)為 5000,輔助進(jìn)程名稱為 WebApplication4 應(yīng)用程序(它只不過是您的應(yīng)用程序名稱)。

到此這篇關(guān)于ASP.NET Core托管模型CreateDefaultBuilder()方法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ORM框架之Dapper簡介和性能測試

    ORM框架之Dapper簡介和性能測試

    這篇文章介紹了ORM框架之Dapper簡介和性能測試,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET Core中的Options選項(xiàng)模式

    ASP.NET Core中的Options選項(xiàng)模式

    這篇文章介紹了ASP.NET Core中的Options選項(xiàng)模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Linux?CentOS下docker部署Asp.Net?Core(.Net6)

    Linux?CentOS下docker部署Asp.Net?Core(.Net6)

    這篇文章介紹了Linux?CentOS下docker部署Asp.Net?Core(.Net6)的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • .NET?6新增的20個(gè)API介紹

    .NET?6新增的20個(gè)API介紹

    這篇文章介紹了.NET?6新增的20個(gè)API,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • WPF使用ValidationRules對MVVM架構(gòu)數(shù)據(jù)驗(yàn)證

    WPF使用ValidationRules對MVVM架構(gòu)數(shù)據(jù)驗(yàn)證

    這篇文章介紹了WPF使用ValidationRules對MVVM架構(gòu)數(shù)據(jù)驗(yàn)證的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • asp.net Webconfig中的一些配置

    asp.net Webconfig中的一些配置

    除了手動(dòng)編輯此文件以外,您還可以使用Web 管理工具來配置應(yīng)用程序的設(shè)置??梢允褂?Visual Studio 中的“網(wǎng)站”->“Asp.Net 配置”選項(xiàng)。
    2010-07-07
  • .NET?6更新使.NET生態(tài)系統(tǒng)蛻變

    .NET?6更新使.NET生態(tài)系統(tǒng)蛻變

    微軟正式發(fā)布.NET最新長期支持版本.NET?6,這個(gè)版本的更新重點(diǎn),除了C#和F#都有許多語言功能改進(jìn)之外,.NET?6終于集大成,成為跨瀏覽器、云計(jì)算、桌面、物聯(lián)網(wǎng)和移動(dòng)應(yīng)用程序的統(tǒng)一平臺(tái),性能也獲得大幅提升,并且更完整支持Arm64
    2022-01-01
  • ASP.NET中BulletedList列表控件使用及詳解

    ASP.NET中BulletedList列表控件使用及詳解

    本文主要介紹了ASP.NET中BulletedList列表控件的詳細(xì)使用方法,講解各屬性的含義以及三種顯示模式,希望能幫到大家。
    2016-04-04
  • 程序中常用的種代碼

    程序中常用的種代碼

    程序中常用的種代碼...
    2006-08-08
  • 搭建基礎(chǔ)結(jié)構(gòu)的ABP解決方案介紹

    搭建基礎(chǔ)結(jié)構(gòu)的ABP解決方案介紹

    這篇文章介紹了搭建基礎(chǔ)結(jié)構(gòu)的ABP解決方案的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02

最新評(píng)論