Pan*_*iya 13 c# .net-core asp.net-core
Program.cs的Main方法是应用程序的入口点。正如您在我们创建任何项目时创建的 .NET Core 默认代码中看到的那样。
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
Run Code Online (Sandbox Code Playgroud)
在启动类中,我们有两个内置方法,即ConfigureServices
和 ,Configure
如下所示。
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道这些方法是如何调用的。我们知道,要调用任何方法,我们必须创建该类的一个对象,并使用该对象我们可以执行该方法,那么这些(ConfigureServices
和Configure
)方法如何在不创建任何对象的情况下执行。
作为一个过于简单的解释,
WebHost.CreateDefaultBuilder(args)
Run Code Online (Sandbox Code Playgroud)
方法调用返回一个实现IWebHostBuilder
. 然后UseStartup()
扩展方法使用您提供的 Startup 类配置创建的 webhost 构建器。UseStartup()
方法可以识别您的启动类,因为您指定为通用参数。UseStartup() 包含要调用的实现ConfigureServices
以及 Configure
您通过使用反射提供的方法。请注意,要调用方法,除了创建类的实例之外,还可以使用反射。
归档时间: |
|
查看次数: |
9130 次 |
最近记录: |