欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

修改 asp.net core 5 程序的默认端口号

程序员文章站 2022-05-29 13:03:26
...

以下文章来源于微信公众号DotNetCore实战

在本地开发环境下,我们知道可以通过修改launchSettings.json 文件中的端口号来实现端口切换。
"WebApplication1": { "commandName": "Project", "launchBrowser": true, "launchUrl": "weatherforecast", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "https://*:8081;http://*:8080" }
但是将程序发布之后,我发现它一直监听的是 5000 端口,请问我如何在 生产环境下做 port 的修改,我试了下 UseUrls 貌似不起效果。
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); }).UseWindowsService() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>() .UseUrls("http://*:8080","https://*:8081"); }) .UseSerilog();
用 UseUrls 是可以的,只不过你把它的顺序弄反了,将 webBuilder.UseStartup() 和 .UseUrls(“http://*:8080","https://*:8081“) 对调一下即可, 希望对你有用。
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService<Worker>(); }).UseWindowsService() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseUrls("https://*:8081", "http://*:8080"); webBuilder.UseStartup<Startup>(); }) .UseSerilog(); }
Stephen LAI:

可以在程序启动的时候通过命令行 —urls 参数去配置,参考如下:

dotnet run —urls “http://localhost:5100;https://localhost:5101

或者:

dotnet /Product/Full/Path/Product.dll —urls “http://localhost:5100;https://localhost:5101

我们一定要操控 LaunchSettings.json 文件的话,也是可以实现的,配置 iisSettings 节点即可。
{ "iisSettings": { "iisExpress": { "applicationUrl": "http://localhost:8080", "sslPort": 96085<== Change_This as you wish } }
总结:
其实修改 asp.net core 程序的默认端口的方法特别多,可以通过 配置文件,硬编码,命令行,环境变量 等多种方式,我在项目开发中更多的使用 命令行方式,毕竟是写到 dockerfile 中的,很方便。