簡體   English   中英

為什么要創建 function CreateWebHostBuilder()?

[英]Why is function CreateWebHostBuilder() created?

創建 ASP.NET Core 2.2 Web API 時,Visual Studio 2019 會創建以下代碼:

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

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

為什么要創建 function CreateWebHostBuilder 為什么它不只是創建如下代碼?

namespace myapi
{
    public class Program
    {
        public static void Main(string[] args)
        {
            WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build().Run();
        }
    }
}

Entity Framework Core 工具使用CreateWebHostBuilder方法如下所述:

調用CreateDefaultBuilder的代碼位於名為CreateWebHostBuilder的方法中,該方法將其與Main中調用構建器 object 上的Run的代碼分開。 如果您使用Entity Framework Core 工具,則需要這種分離。 這些工具希望找到一個CreateWebHostBuilder方法,他們可以在設計時調用該方法來配置主機,而無需運行應用程序。 另一種方法是實現IDesignTimeDbContextFactory 有關詳細信息,請參閱設計時 DbContext 創建

如果您不使用 EF Core,則可以按照您的建議將其折疊到Main方法中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM