解释 ASP.NET Core 中 Program 类的用途

一个ASP.NET核心应用同样开始一个.NET控制台应用程序。它使用文件中Main()定义的方法Program.cs作为应用程序的入口点。Main()每当您启动 Web 应用程序时,框架都会调用该方法。

在ASP.NETCore 应用程序中,该Main()方法构建并运行 Host。Host 对象是ASP.NETCore 应用程序的基本部分之一。它包含您的应用程序使用的配置和网络服务器 (Kestrel)。

程序.cs

这是Program.cs标准ASP.NETCore 应用程序中的示例文件。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using Microsoft.AspNetCore.Hosting;

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.Hosting;

using Microsoft.Extensions.Logging;

namespace nhooo{

   public class Program{

      public static void Main(string[] args){

         CreateHostBuilder(args).Build().Run();

      }

      public static IHostBuilder CreateHostBuilder(string[] args) =>

         Host.CreateDefaultBuilder(args)

            .ConfigureWebHostDefaults(webBuilder =>{

               webBuilder.UseStartup<Startup>();

            });

   }  

}

在上面的例子中,

  • 该CreateHostBuilder()方法使用默认配置创建一个 IHostBuilder 实例。

  • ConfigureWebHostDefaults() 使用 WebHostBuilder 对象将应用程序配置为使用 Kestrel。

  • CreateDefaultBuilder() 是一种静态辅助方法,通过使用标准配置创建 IHostBuilder 来简化应用程序的创建。

  • UseStartup<Startup> 告诉框架使用Startup.cs该类进行配置。

  • 配置 IHostBuilder 后,该Build()方法将创建并从 IHostBuilder 返回 IHost 的实例。但是,应用程序仍然没有侦听请求。

  • 该Run()方法运行 IHost 并侦听 HTTP 请求。

如您所见, Program 类提供初始化代码来创建 Web 主机并侦听传入请求。大多数样板ASP.NET核心配置发生在CreateDefaultBuilder()方法中。本Startup.cs类处理特定应用程序的配置,即,通过您的应用中间件管道所需要的服务。

通常,一旦应用程序开始增长,您就不会更改 Program 类,而您将经常修改 Startup 类以添加/删除应用程序需要的服务。

以上是 解释 ASP.NET Core 中 Program 类的用途 的全部内容, 来源链接: utcz.com/z/338762.html

回到顶部