构建完成后,在bin文件夹中,有两个主文件{AppName}.exe和{AppName}.dll,据我所知,AppName.dll是实际编译的应用程序代码,AppName.exe是在Kestrel中托管应用程序的主机。
我的问题是:这个.exe是由Program.cs引起的吗?它是不是充当我们的应用程序在其下运行的工作进程,因为我们获得的进程名是ASP.NET Core5的应用程序名,而不再是dotnet (dotnet.exe)。
发布于 2021-09-13 04:22:07
AppName.exe不是主机。如果项目类型是针对.NET Core3.0或更高版本的可执行文件,则可执行文件是可用于运行应用程序的可执行文件。有关详细信息,请参阅dotnet build命令。
默认情况下,ASP.NET核心项目模板使用Kestrel。在Program.cs中,ConfigureWebHostDefaults方法调用UseKestrel:
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
//use Kestrel
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});下面是一些关于主机主题的有用链接:
Kestrel web server implementation in ASP.NET Core
https://stackoverflow.com/questions/69036395
复制相似问题