首页 > 解决方案 > 如何和谁在.net core 中调用启动类的 ConfigureServices 和 Configure 方法

问题描述

众所周知,Program.cs 的 Main 方法是应用程序的入口点。正如您在我们创建任何项目时创建的 .net 核心默认代码中看到的那样。

public static void Main(string[] args)
{
   CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
   WebHost.CreateDefaultBuilder(args)
       .UseStartup<Startup>();

在启动类中,我们有两个 In-build 方法ConfigureServicesConfigure如下所示。

public void ConfigureServices(IServiceCollection services)
{
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
}

我只想知道这些方法是如何被调用的。正如我们所知,要调用任何方法,我们必须创建类的对象并使用该对象我们可以执行该方法,然后这些(ConfigureServicesConfigure)方法如何在不创建任何对象的情况下执行。

请帮助我深入了解。

标签: c#asp.net-core.net-core

解决方案


这些方法由 ASP.NET Core 框架调用。请注意,在您的Main方法中,您有此调用:

.UseStartup<Startup>()

在哪里指定用于启动的类,在本例中为Startup. 和方法按约定调用ConfigureServicesConfigure如果在扩展中指定的类中找到这些方法UseStartup,它们将被调用。


推荐阅读