asp.net Core的端口是在launchSettings.json文件中配置的。该文件是用于调试的时候使用的,在发布后,并没有该文件 。launchSettings.json中默认的端口是5000,部署到Ubuntu后,也能通过5000端口可以正常访问。
测试1、将launchSettings.json中的5000端口修改成6001后,部署到Ubuntu后,可以运行吗?

测试结果:
可以访问,说明:launchSettings.json文件中配置的端口是用于调试的时候使用的,和发布后的端口没有关系。
2、代码中采用默认的5000端口,在dotnet命令中又指定了端口参数:
command = dotnet /home/zdr/dotnetcoredemo1/DotNetCoreDemo1.dll --server.urls http://*:88
测试结果:
http://localhost:5004可以访问,而http://localhost:88不能访问。
3、代码中指定端口:添加一个host.json文件,文件内容如下:
{
"urls": "http://localhost:5004;https://localhost:5005"
}
测试结果:重新发布后发现,http://localhost:5004可以访问,而http://localhost:5005不能访问。
4、代码和dotnet命令中均指定端口
host.json文件中指定了端口为:"urls": "http://localhost:5004;https://localhost:5005"
然后在dotnet命令中又指定了端口参数:
command = dotnet /home/zdr/dotnetcoredemo1/DotNetCoreDemo1.dll --server.urls http://*:88
测试结果: 两个地方都配置后,5004端口可以访问,5005和88端口不能访问。

本文探讨了ASP.NET Core应用程序中端口配置的多种方式,包括launchSettings.json、host.json文件及dotnet命令行参数的使用。实验结果显示,调试阶段的端口设置与发布后实际运行的端口配置无关,而代码内指定或命令行参数指定的端口将优先于其他配置。
1094

被折叠的 条评论
为什么被折叠?



