猿问

试图理解 CreateDefaultBuilder

我是编写 C# Api 的新手,正在查看 IdentityServer4 QuickStart1 我看到 QuickstartIdentityServer 模块有


using System;

using Microsoft.AspNetCore;

using Microsoft.AspNetCore.Hosting;


namespace QuickstartIdentityServer

{

    public class Program

    {

        public static void Main(string[] args)

        {

            Console.Title = "IdentityServer";


            BuildWebHost(args).Run();

        }


        public static IWebHost BuildWebHost(string[] args) =>

            WebHost.CreateDefaultBuilder(args)

                .UseStartup<Startup>()

                .Build();

    }

}

API有


using System;

using Microsoft.AspNetCore;

using Microsoft.AspNetCore.Hosting;


namespace Api

{

    public class Program

    {

        public static void Main(string[] args)

        {

            Console.Title = "API";


            BuildWebHost(args).Run();

        }


        public static IWebHost BuildWebHost(string[] args) =>

            WebHost.CreateDefaultBuilder(args)

                .UseStartup<Startup>()

                .Build();

    }

}

我在理解 BuildWebHost 实际做什么以及为什么我需要它在 2 个单独的进程中运行才能使用我的客户端进程连接到 API 时遇到问题


我看到 BuildWebHost 包含


WebHost.CreateDefaultBuilder

查看 Microsoft.AspNetCore(从元数据)我看到它是一个包含方法声明的静态类


public static IWebHostBuilder CreateDefaultBuilder(string[] args);

所以该方法的实际代码必须在 Microsoft.AspNetCore.Dll 中


为什么它需要在 IdentityServer4 和 Api 中运行?


守着一只汪
浏览 257回答 1
1回答
随时随地看视频慕课网APP
我要回答