修改 ASP.NET Core 应用程序运行后的默认端口

可以通过以下几种方法来实现。具体选择哪种方法取决于项目需求和环境设置。

方法 1:使用 appsettings.json 配置文件

你可以在 appsettings.json 中设置 Kestrel 的配置来更改默认端口。

  1. 打开 appsettings.json 文件,添加 Kestrel 配置:

    复制代码
    { 
        "Kestrel": {
          "Endpoints": { 
             "Http": { 
                "Url": "http://0.0.0.0:5000" 
               } 
            } 
        } 
    } 

    这个配置将 Kestrel 的监听端口设置为 5000。你可以根据需要更改端口号。

  2. 确保在 Program.cs 中配置 Kestrel 服务器时,使用 ConfigureWebHostDefaults 方法:

    复制代码
    var builder = WebApplication.CreateBuilder(args); 
    // Kestrel 配置已经在 appsettings.json 中设置,不需要额外配置 
    var app = builder.Build();
    app.Run(); 

方法 2: 使用 UseUrls 方法

你可以通过在 Program.cs 文件中使用 UseUrls 方法直接设置应用程序的默认 URL 和端口。

复制代码
var builder = WebApplication.CreateBuilder(args); 
// 设置应用程序默认的 URL 和端口 
builder.WebHost.UseUrls("http://0.0.0.0:5000");
var app = builder.Build(); 
app.Run(); 

在这个例子中,应用程序将会监听所有网络接口(0.0.0.0)上的 5000 端口。

方法 3:使用 launchSettings.json 文件(适用于开发环境)

如果你只想在开发环境中更改端口,你可以修改 launchSettings.json 文件。

  1. 找到 Properties 文件夹下的 launchSettings.json 文件。

  2. 找到与你的应用程序配置对应的部分(例如 IIS ExpressProject)。

    复制代码
    { 
      "profiles": { 
         "IIS Express": { 
           "commandName": "IISExpress", 
           "launchBrowser": true, 
           "environmentVariables": {
              "ASPNETCORE_ENVIRONMENT": "Development"  
           }, 
         "iisSettings": {
           "windowsAuthentication": false, 
           "anonymousAuthentication": true,
           "iisExpress": { 
              "applicationUrl": "http://localhost:5000", 
              "sslPort": 0 
            }
          } 
       }, 
      "MyProjectName": { 
          "commandName": "Project", 
          "dotnetRunMessages": true, 
          "launchBrowser": true, 
          "applicationUrl": "http://localhost:5000", 
          "environmentVariables": { 
                "ASPNETCORE_ENVIRONMENT": "Development" 
             } 
           }
        } 
    } 

    applicationUrl 更改为你想要的 URL 和端口,例如 http://localhost:5001

方法 4:使用环境变量

你可以使用环境变量来设置 ASP.NET Core 应用程序的默认 URL 和端口。

  1. 设置 ASPNETCORE_URLS 环境变量:

    • 在 Windows 上:

      复制代码
      $env:ASPNETCORE_URLS="http://0.0.0.0:5000" 
    • 在 Linux 或 macOS 上:

      复制代码
      export ASPNETCORE_URLS="http://0.0.0.0:5000" 
  2. 启动应用程序时,ASP.NET Core 将使用这个环境变量来确定监听的 URL 和端口。

方法 5:使用 ConfigureKestrel 方法

你可以在 Program.cs 中直接配置 Kestrel 服务器的监听端口:

复制代码
var builder = WebApplication.CreateBuilder(args); 
builder.WebHost.ConfigureKestrel(serverOptions => { 
         serverOptions.ListenAnyIP(5000); // 设置 Kestrel 监听 5000 端口 
         }); 
var app = builder.Build(); 
app.Run(); 

选择适合的方式

  • 开发环境 :如果只是在开发环境中调整端口,建议使用 launchSettings.json 文件来进行配置。
  • 生产环境 :建议使用 appsettings.jsonUseUrls 方法设置固定的端口。同时,可以结合环境变量在不同的部署环境中灵活调整端口。

通过这些方法,可以更改 ASP.NET Core 应用程序运行时的默认端口,并根据不同的环境需求灵活配置应用程序。

相关推荐
晴殇i11 小时前
最近在 Github 名字叫“马尾辫”,这个真的很有趣看到头像
前端·后端·开源
IT_陈寒11 小时前
Vite打包时静态资源404?加个斜杠就能解决
前端·人工智能·后端
程序员爱钓鱼11 小时前
Go 输入输出详解
后端·面试·go
程序员爱钓鱼11 小时前
Rust 生命周期详解:生命周期标注、约束与真实项目应用
后端·面试·rust
MoonBit月兔12 小时前
MoonBit 受邀亮相 SPLASH/ISSTA 2026,与 Java、Rust、Eiffel、D 语言核心贡献者同场交流
开发语言·后端·rust
维克兜率天1 天前
【维克】ARMA模型:AR与MA的完美结合
后端·restful
是未才1 天前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
上海安当技术1 天前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队1 天前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_431600441 天前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js