为什么 .NET Core Web 应用程序最初作为控制台应用程序启动

Vis*_*alD 0 c# .net-core asp.net-core-webapi asp.net-core-3.1

下面是Program.cs其中的文件Main(),主要方法是.NET Core中的入口点。为什么 .NET Core Web 应用程序有 main 方法以及为什么它最初作为控制台应用程序启动?

  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>();
                });
    }
Run Code Online (Sandbox Code Playgroud)

Zhi*_* Lv 5

ASP.NET Core Web 应用程序实际上是一个控制台项目,它从 Program 类中的入口点开始执行public static void Main(),我们可以在其中为 Web 应用程序创建主机。主机负责应用程序启动和生命周期管理。主机至少配置服务器和请求处理管道。主机还可以设置日志记录、依赖项注入和配置。更详细的信息,您可以参考以下文章:

ASP.NET Core 中的 .NET 通用主机

ASP.NET Core 虚拟主机

ASP.NET Core 中的 Startup 类和 Program.cs 是什么