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

ASP.NET Core Web应用程序实际上是一个控制台项目,它从Main()Program类中的入口点public static void开始执行,我们可以在其中为Web应用程序创建主机。

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

虚拟主机提供商是可用于与预先配置的默认值创建IWebHost和IWebHostBuilder的实例的静态类。

CreateDefaultBuilder()方法创建WebHostBuilder与预先配置的默认值的新实例。在内部,

它配置Kestrel,IISIntegration和其他配置。以下是CreateDefaultBuilder()方法。

  • 将“内容根目录”设置为当前目录

  • 允许将命令行参数推送到您的配置对象中

  • 同时添加appsettings.json和appsettings。{Environment} .json以加载到配置对象中

  • 将环境变量添加到配置对象

  • 如果处于开发中,则允许加载机密。

  • 添加控制台/调试记录器

  • 告诉应用使用Kestrel并从已加载的配置中加载Kestrel配置

  • 添加路由

  • 添加IIS集成

当我们要将应用程序托管到iis中时,我们需要添加UseIISIntegration()方法,将IIS指定为外部Web服务器。

UseStartup <startup>()方法指定Web主机要使用的Startup类。我们还可以指定自定义类来代替启动。

Build()方法返回IWebHost的实例并Run()启动Web应用程序,直到停止为止。