国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

ASP.NET Core 中的Main方法詳解

2020-01-24 00:02:44
字體:
來源:轉載
供稿:網友

在 ASP.NET Core 項目中,我們有一個名為Program.cs的文件。在這個文件中,我們有一個public static void Main()方法 。

public class Program{  public static void Main(string[] args)  {    CreateWebHostBuilder(args).Build().Run();  }  public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>    WebHost.CreateDefaultBuilder(args)      .UseStartup<Startup>();}

如果您對傳統的.NET Framework 有任何使用經驗,則知道控制臺應用程序具有 Main()方法,它是該控制臺程序的入口。

但今天,我們正在創建一個 ASP.NET Core Web 應用程序而不是控制臺應用程序。因此,我們想到的一個顯而易見的問題是。 為什么我們也會有一個Main()方法?

所以這個知識點,要記住的。ASP.NET Core 應用程序最初作為控制臺應用程序啟動,而Program.cs文件中的Main()方法就是入口。

因此,當運行時執行我們的應用程序時,它會查找此Main()方法以及執行配置開始的地方。

這個Main()方法配置 asp.net Core 并啟動它,此時,它成為一個 asp.net Core Web 應用程序。因此,如果你跟蹤一下Main()方法,它會調用 CreateWebHostBuilder()方法傳遞命令行參數。

然后你就可以看到,CreateWebHostBuilder()方法返回一個實現 IWebHostBuilder 的對象。 在此對象上,調用Build()方法,會將我們的 ASP.NET Core 應用程序生成并且托管到服務器上。 在服務器上的程序調用Run() 方法,該方法運行后Web 應用程序并開始偵聽傳入的 HTTP 請求。 CreateWebHostBuilder()方法調用靜態類WebHost中的靜態方法CreateDefaultBuilder()。 CreateDefaultBuilder()方法會在服務器上創建一個已經預設置好的默認值。 CreateDefaultBuilder()方法執行多項操作來創建服務器.

我們在后面的視頻中詳細討論CreateDefaultBuilder()中的所有方法。

而現在你只需要了解CreateDefaultBuilder()方法是用于在服務器上創建程序配置的默認值而存在。 它作為設置服務器的一部分,還使用了IWebHostBuilder接口中的UseStartup()的擴展方法來配置Startup類。 如果您不熟悉擴展方法的概念, 那么你該去補課了。

按照微軟的規則,ASP.NET Core 中的啟動類名為Startup。 這個類有 2 種方法。

public class Startup{  public void ConfigureServices(IServiceCollection services)  { }  public void Configure(IApplicationBuilder app, IHostingEnvironment env)  {    if (env.IsDevelopment())    {      app.UseDeveloperExceptionPage();    }    app.Run(async (context) =>    {      await context.Response.WriteAsync("Hello World!");    });  }}

C#

Startup 類雖然只有兩個方法,但是這兩個方法做了非常重要的事情:

ConfigureServices()方法配置應用程序所需的服務

Configure()方法配置應用程序的請求處理管道

我們理解這兩種方法的作用是非常重要。

在后面的文章中,會大量使用這兩種方法。到時候需要大家多次加深印象。

感謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温泉县| 东源县| 昌黎县| 邹城市| 庆城县| 临夏市| 丰顺县| 建水县| 鹿泉市| 沽源县| 元阳县| 新竹市| 枣阳市| 新晃| 辉南县| 沁水县| 安泽县| 苏尼特左旗| 康平县| 玛多县| 武山县| 印江| 阳新县| 祥云县| 清涧县| 得荣县| 灌南县| 于田县| 英山县| 阿克苏市| 道孚县| 陇川县| 策勒县| 新竹县| 林甸县| 永吉县| 九台市| 资讯 | 泾源县| 兴安盟| 洛南县|