本文做者:梁桐銘- 微軟最有價值專家(Microsoft MVP)
文章會隨着版本進行更新,關注我獲取最新版本
本文出自《從零開始學 ASP.NET Core 與 EntityFramework Core》目錄
視頻課程效果更佳:跨平臺開發實戰掌握 ASP.NET Core 與 EntityFramework Core express
當一個 ASP.NET Core 應用程序執行的時候,.NET 運行時會去查找 Main()
方法,由於它是這個應用程序的起點。瀏覽器
而後,Main()
方法調用靜態類WebHost
中的靜態方法CreateDefaultBuilder()
。
這個CreateDefaultBuilder()
方法執行幾個任務,如:服務器
在之後的課程中,咱們將討論 asp.net core 中可用的各類配置源,加載主機和應用程序配置信息以及配置日誌記錄等內容。mvc
在本視頻中,讓咱們瞭解CreateDefaultBuilder()
方法用於配置和設置 Web 服務器的功能。 ASP.NET Core 應用程序能夠託管在進程內(InProcess)或進程外(OutOfProcess)中。 在本視頻中,咱們將討論進程內(InProcess)託管,在下一個視頻中,咱們將討論進程外(OutOfProcess)託管。asp.net
若要配置 InProcess 宿主, 請將<AspNetCoreHostingModel>
添加到應用的項目文件中, 其中的值爲 InProcess
工具
當咱們選擇使用一個可用的項目模板,建立一個新的 ASP.NET Core 項目時,該項目默認爲全部的 IIS 和 IIS Express 的配置都是做爲進程內託管(InProcess)。性能
在 InProcess 託管的狀況下,CreateDefaultBuilder()
方法調用UseIIS()
方法並在 IIS 工做進程**(w3wp.exe 或 iisexpress.exe)***內託管應用程序。優化
System.Diagnostics.Process.GetCurrentProcess().ProcessName
Kestrel 是 ASP.NET Core 的跨平臺 Web 服務器。.NET Core 支持的全部平臺和版本都支持它。它默認包含在 ASP.NET Core 中做爲內部服務器。 Kestrel 自己能夠用做邊緣服務器,即面向互聯網的 Web 服務器,它能夠直接處理來自客戶端的傳入 HTTP 請求。ui
在 Kestrel 中,用於託管應用程序的進程是dotnet.exe
。當咱們使用.NET Core CLI
(命令行界面)運行.NET Core 應用程序時,應用程序使用 Kestrel 做爲 Web 服務器。spa
.NET Core CLI 是一個用於開發.NET 核心應用程序的跨平臺工具。使用 CLI 命令咱們作:
咱們可使用.NET Core CLI 作不少事情。
使用.NET Core CLI 運行咱們的 Asp.Net Core 應用程序。
dotnet run
命令dotnet run
在.NET Core CLI 生成並運行項目以後,它會顯示用於訪問應用程序的 URL。 在個人例子中,應用程序能夠經過訪問瀏覽器地址在http://localhost:5000 查看內容。
於 Kestrel,用於託管和執行應用程序的進程是dotnet.exe
。
所以,當咱們導航到http://localhost:5000
時,咱們將看到顯示進程名稱dotnet
。
下一個視頻: ASP.NET Core 中的進程外託管模型
若是您以爲個人文章質量還不錯,歡迎打賞,也能夠訂閱個人視頻哦 未獲得受權不得擅自轉載本文內容,52abp.com 保留版權 感謝您對個人支持