WebHostBuilder在入口点中使用时Main,如何指定它绑定到的端口?
WebHostBuilder
Main
默认情况下,它使用 5000。
请注意,此问题特定于新的 ASP.NET Core API(当前在 1.0.0-RC2 中)。
在 ASP.NET Core 3.1 中,有 4 种主要方法可以指定自定义端口:
使用命令行参数,通过以下方式启动您的 .NET 应用程序--urls=[url]:
--urls=[url]
dotnet run –urls=http://localhost:5001/
使用appsettings.json, 通过添加一个Urls节点:
appsettings.json
Urls
{ “Urls”: “http://localhost:5001" }
使用环境变量,带有ASPNETCORE_URLS=http://localhost:5001/.
ASPNETCORE_URLS=http://localhost:5001/
使用UseUrls(),如果您更喜欢以编程方式进行操作:
UseUrls()
public static class Program { public static void Main(string[] args) => CreateHostBuilder(args).Build().Run();
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(builder => { builder.UseStartup<Startup>(); builder.UseUrls("http://localhost:5001/"); });
}
或者,如果您仍在使用 Web 主机构建器而不是通用主机构建器:
public class Program { public static void Main(string[] args) => new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseUrls("http://localhost:5001/") .Build() .Run(); }