问题
Previously, with .NET Core 2.2, I could add UseUrls
to my Program.cs
file to set the URL that the web server would run on:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://localhost:5100");
However, in .NET Core 3.1, the default format of Program.cs
changed:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
I tried adding UseUrls
to this in the same manner as I did with .NET Core 2.2, but it says that:
'IHostBuilder' does not contain a definition for 'UseUrls' and the best extension method overload 'HostingAbstractionsWebHostBuilderExtensions.UseUrls(IWebHostBuilder, params string[])' requires a receiver of type 'IWebHostBuilder'
How can I set the URL for the server to run on using .NET Core 3.1 (which uses IHostBuilder
instead of IWebHostBuilder
)?
回答1:
The method ConfigureWebHostDefaults
allows you to configure the web host. One of the thing you can do is change the urls: 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");
});
来源:https://stackoverflow.com/questions/59347751/equivalent-of-useurls-for-net-core-3-1-ihostbuilder