.NET Core 3.1/IHostBuilder 的 UseUrls 等效项

Mer*_*n04 7 c# asp.net-core asp.net-core-3.1

以前,使用 .NET Core 2.2,我可以添加UseUrls到我的Program.cs文件中以设置 Web 服务器将在其上运行的 URL:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseUrls("http://localhost:5100");
Run Code Online (Sandbox Code Playgroud)

但是,在 .NET Core 3.1 中,Program.cs更改了默认格式:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
Run Code Online (Sandbox Code Playgroud)

我尝试UseUrls以与 .NET Core 2.2 相同的方式添加它,但它说:

“IHostBuilder”不包含“UseUrls”的定义,最佳扩展方法重载“HostingAbstractionsWebHostBuilderExtensions.UseUrls(IWebHostBuilder, params string[])”需要“IWebHostBuilder”类型的接收器

如何设置服务器的 URL 以使用 .NET Core 3.1(使用 .NET Core 3.1IHostBuilder代替IWebHostBuilder)?

mez*_*tou 16

该方法ConfigureWebHostDefaults允许您配置网络主机。您可以做的一件事是更改网址:https ://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host ? view = aspnetcore-3.1#urls

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseUrls("http://localhost:5100");
            });
Run Code Online (Sandbox Code Playgroud)