C# .NET核心Web应用程序最初作为控制台应用程序启动的原因
下面是包含C# .NET核心Web应用程序最初作为控制台应用程序启动的原因,c#,.net-core,asp.net-core-webapi,asp.net-core-3.1,C#,.net Core,Asp.net Core Webapi,Asp.net Core 3.1,下面是包含Main()的Program.cs文件,主要方法是.NET核心中的入口点。为什么.NET核心Web应用程序有main方法,为什么它最初作为控制台应用程序启动 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public sta
Main()
的Program.cs
文件,主要方法是.NET核心中的入口点。为什么.NET核心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>();
});
}
公共类程序
{
公共静态void Main(字符串[]args)
{
CreateHostBuilder(args.Build().Run();
}
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
});
}
ASP.NET核心web应用程序实际上是一个控制台项目,它从Program类中的入口点public static void Main()
开始执行,我们可以在这里为web应用程序创建主机。主机负责应用程序启动和生命周期管理。主机至少配置一个服务器和一个请求处理管道。主机还可以设置日志记录、依赖项注入和配置。更多详细信息,请参阅以下文章:
因为它是一个控制台应用程序。所有非WinForms/WPF netcore项目都是(保存Blazor客户端)您使用哪个IDE?@pinkfloydx33它仍然是一个web应用程序,它最初是作为控制台启动的,我的问题是为什么它作为控制台启动,即使它是一个web应用程序application@RafaelBizVisual Studio2019@VishalD . . . 也许您对这里的术语web应用程序感到困惑。你认为什么是Web应用程序?在技术方面,ASP.NET web应用程序是后端/服务器应用程序,负责呈现前端浏览器(HTML/CSS/JavaScript)或API(XML、JSON)内容。您可以配置和编译ASP.NET web应用程序以在IIS或其他web服务器中运行,但对于.NET Core,它通常是嵌入Kestrel引擎(或其他合适的web主机)的控制台应用程序,因此它可以独立于web服务器运行。