C# ASP.NET Core 项目中 Program.cs 文件的用途是什么?

C# ASP.NET Core 项目中 Program.cs 文件的用途是什么?
最新回答
欧尼酱

2022-05-19 12:15:16

C# ASP.NET Core项目中Program.cs文件是应用程序的入口点,负责启动和配置Web主机。 以下是其核心用途的详细说明:

  1. 程序入口

    通过public static void Main(string[] args)方法启动控制台应用,这是ASP.NET Core应用的起点。

    调用BuildWebHost(args).Run()构建并运行Web主机。

  2. Web主机配置

    WebHost.CreateDefaultBuilder(args)
    创建预配置的IWebHostBuilder实例,蔽哗默认包含以下设置:

    设置Content Root为当前目录,支持命令行参数传递。

    加载配置文件(appsettings.json和appsettings.{Environment}.json)。

    添加环境变量到配置对象。

    开发环境下启用密钥加载(如用户密钥)。

    配置控制台/调试日志记录。

    指定使用Kestrel作为Web服务器,并加载喊并缺其配置(如端口、SSL等)。

    添加IIS集成(通过UseIISIntegration(),仅在托管于IIS时生效)。

  3. 启动类绑定

    UseStartup<Startup>()
    指定Startup类(或自定义类)作为应用配置入口,用于依赖注入、中间件管道等初始化。

  4. 启动与运行

    Build()
    生成IWebHost实例,封郑辩装所有配置(如服务、中间件、服务器等)。

    Run()
    启动Web应用并阻塞线程,直到应用终止(如Ctrl+C或进程退出)。

总结:Program.cs是ASP.NET Core应用的启动核心,通过CreateDefaultBuilder简化主机配置(如Kestrel、IIS、配置文件等),最终构建并运行Web主机,将控制权交给Startup类完成应用逻辑初始化。