当前位置: 首页 > 编程笔记 >

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

颜楚青
2023-03-14
本文向大家介绍C#ASP.NET Core项目中Program.cs文件的用途是什么?,包括了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应用程序,直到停止为止。

 类似资料:
  • 我正在看一个教程,以dockerize我的django应用程序。我不明白为什么我们使用作为DockerFile中的环境变量。 你能帮忙吗?

  • node_modules文件夹到底是什么,有什么用途? 我知道,当我们用< code>npm下载任何库时,该库会转到node_modules文件夹。我还知道,当我们要上传它时(例如,上传到GitHub ),我们必须忽略node_modules文件夹,因为它占用了很多空间。通过package.json文件,我们可以使用< code>npm i下载所有依赖项。 假设我想将我的应用程序/网站部署到某个服

  • 问题内容: 今天,一位同事向我解释了如何创建nodejs项目,我注意到在./node_modules中有一个名为.bin的不可见文件夹。我必须说,我在添加到项目“ bootcamp”和“ bower”工具后才发现了这一点。.bin的目的是什么?它是做什么用的? 问题答案: 这是节点模块中的二进制文件(可执行文件)所在的文件夹。 NPM网站指出: 可执行文件在全局模式下,可执行文件在Unix上链接到

  • 问题内容: 在回顾了AOP模式之后,我对春季项目中如何使用它以及如何使用它的方法不知所措。 我想将其用作所有财务业务逻辑的审核日志系统。它似乎很容易集成。但我想听听您对此的看法。 问题是-我应该考虑此模式共有哪些其他用途?只要有好处,我就不介意重构当前的逻辑以用于AOP。 问题答案: 最常见的用法是您的应用程序具有交叉关注点,即将要在多个类/层中编写的一段逻辑或代码。 这可能会根据您的需求而有所不

  • 本文向大家介绍C#Asp.net Core中UseIISIntegration的用途是什么?,包括了C#Asp.net Core中UseIISIntegration的用途是什么?的使用技巧和注意事项,需要的朋友参考一下 所有ASP.NET Core应用程序都需要一个WebHost对象,该对象实际上充当应用程序和Web服务器。WebHostBuilder用于配置和创建WebHost。通常,您将在We

  • 如何决定projectkey?我的意思是我们在哪里可以找到我们的<代码>。Net,< code>plsql项目? 注意-我是这些声纳的新手,正在尝试在我的组织中自己设置所有这些。