Я новичок в написании 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?