本文做者:梁桐銘- 微軟最有價值專家(Microsoft MVP)
文章會隨着版本進行更新,關注我獲取最新版本
本文出自《從零開始學 ASP.NET Core 與 EntityFramework Core》目錄
視頻課程效果更佳:跨平臺開發實戰掌握 ASP.NET Core 與 EntityFramework Core 服務器
在 ASP.NET Core 項目中,咱們有一個名爲Program.cs
的文件。在這個文件中,咱們有一個public static void Main()
方法 。mvc
若是您對傳統的.NET Framework 有任何使用經驗,則知道控制檯應用程序具備 Main()方法,它是該控制檯程序的入口。app
但今天,咱們正在建立一個 ASP.NET Core Web 應用程序而不是控制檯應用程序。所以,咱們想到的一個顯而易見的問題是。 爲何咱們也會有一個Main()
方法?asp.net
因此這個知識點,要記住的。ASP.NET Core 應用程序最初做爲控制檯應用程序啓動,而Program.cs
文件中的Main()
方法就是入口。async
所以,當運行時執行咱們的應用程序時,它會查找此Main()
方法以及執行配置開始的地方。ui
這個Main()
方法配置 asp.net Core 並啓動它,此時,它成爲一個 asp.net Core Web 應用程序。所以,若是你跟蹤一下Main()
方法,它會調用 CreateWebHostBuilder()方法傳遞命令行參數。spa
而後你就能夠看到,CreateWebHostBuilder()方法返回一個實現 IWebHostBuilder 的對象。 在此對象上,調用Build()
方法,會將咱們的 ASP.NET Core 應用程序生成而且託管到服務器上。 在服務器上的程序調用Run()
方法,該方法運行後Web 應用程序並開始偵聽傳入的 HTTP 請求。 CreateWebHostBuilder()
方法調用靜態類WebHost
中的靜態方法CreateDefaultBuilder()
。 CreateDefaultBuilder()
方法會在服務器上建立一個已經預設置好的默認值。 CreateDefaultBuilder()
方法執行多項操做來建立服務器..net
咱們在後面的視頻中詳細討論
CreateDefaultBuilder()
中的全部方法。命令行
而如今你只須要了解CreateDefaultBuilder()
方法是用於在服務器上建立程序配置的默認值而存在。 它做爲設置服務器的一部分,還使用了IWebHostBuilder
接口中的UseStartup()
的擴展方法來配置Startup
類。 若是您不熟悉擴展方法的概念, 那麼你該去補課了。code
按照微軟的規則,ASP.NET Core 中的啓動類名爲Startup
。 這個類有 2 種方法。
Startup 類雖然只有兩個方法,可是這兩個方法作了很是重要的事情:
ConfigureServices()
方法配置應用程序所需的服務Configure()
方法配置應用程序的請求處理管道咱們理解這兩種方法的做用是很是重要。
在後面的課程中,咱們會大量使用這兩種方法。到時候須要你們屢次加深印象。
若是您以爲個人文章質量還不錯,歡迎打賞,也能夠訂閱個人視頻哦
未獲得受權不得擅自轉載本文內容,52abp.com 保留版權
感謝您對個人支持