前言
在使用ASP.NET Core 3.1开发时,需要配置服务器监听的端口和协议,官方帮助文档进行简单说明,文档中提到了4种指定URL的方法

1.设置ASPNETCORE_URLS 环境变量;
2.使用dotnet --urls 命令行参数;
3.使用urls作为键进行配置;
4.使用UseUrls扩展方法;
 


方法1 使用环境变量

Windows PowerShell 
# 环境变量仅在当前命令行窗口生效
$Env:ASPNETCORE_URLS = "http://localhost:7000;https://localhost:7010"
# 或者使用DOTNET_URLS环境变量同样可生效
$Env:DOTNET_URLS = "http://localhost:8000;https://localhost:8010"
# 运行AspNetCoreUrl程序
dotnet AspNetCoreUrl.dll


如果使用Windows命令行(即cmd命令行),使用下面的方式设置
# 环境变量仅在当前命令行窗口生效
set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010
# 将ASPNETCORE_URLS变量保存到用户环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010"
# 加/m参数,将ASPNETCORE_URLS变量保存到系统环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" /m
# 运行AspNetCoreUrl程序
dotnet AspNetCoreUrl.dll
注意:使用setx设置环境变量后,需要打开新的Windows命令行窗口才会使用环境变量生效

在Linux系统中使用以下命令设置环境变量
# 环境变量仅在当前终端生效,关闭终端后需要重新设置
export ASPNETCORE_URLS="http://localhost:7000;https://localhost:7010"

方法2 使用命令行参数

在生成程序的根目录下,使用dotnet --urls命令,并带上urls参数
dotnet AspNetCoreUrl.dll --urls "http://localhost:7001;https://localhost:7011"

方法3 使用配置文件
在生成程序的根目录下,打开appsettings.json文件,添加url配置项,然后双击AspNetCoreUrl.exe运行

{
    "urls":"http://localhost:7002;http://localhost:7012"
}

方法4 使用UseUrls

这种方法需要修改源代码,修改Program.cs文件


在ASP.NET core 3.*中修改CreateHostBuilder方法内容,主要是添加UseUrls扩展方法然后生成程序。
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            // 使用UseUrls设置监听的端口和协议
            webBuilder.UseUrls("http://localhost:7003", "https://localhost:7013");
        });


在ASP.NET core 6中在Main方法中添加语句,
 builder.WebHost.UseUrls(new[] { "http://localhost:7003", "https://localhost:7013" });
注意:运行前需要将appsettings.json文件恢复到默认状态,即没有配置urls的状态,否则配置文件中设置会覆蓋代码中的方法。

总结
本文介绍了ASP.NET Core几种常用的设置URLs的方法,大家可以根据项目实际情况选择其中一种或几种,如果同时使用几种URLs设置方法,则需要留意配置的优先级问题,经过测试得出
Kestrel > 命令行 > 配置文件 > UseUrls > 环境变量 > 默认值

文章信息

创建时间
2023-12-12
作者
郭铭心
是否所有人可见
所有人可见
最后修改日期
2023-12-12
点击数
501
标签