以下文章来源于微信公众号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
中的,很方便。
到此这篇关于修改 asp.net core 5 程序的默认端口号的文章就介绍到这了,更多相关修改 asp.net core 5 程序默认端口号内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!