修改 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 应用程序运行时的默认端口,并根据不同的环境需求灵活配置应用程序。

相关推荐
一个有梦有戏的人3 分钟前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
爬山算法20 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
独断万古他化39 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring
我爱加班、、1 小时前
Websocket能携带token过去后端吗
前端·后端·websocket
一 乐1 小时前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
80530单词突击赢1 小时前
SpringBoot整合SpringMVC全解析
java·spring boot·后端
hdsoft_huge1 小时前
1panel面板中部署SpringBoot和Vue前后端分离系统 【图文教程】
vue.js·spring boot·后端
lekami_兰2 小时前
RabbitMQ 延迟队列实现指南:两种方案手把手教你搞定
后端·rabbitmq·延迟队列
程序员泠零澪回家种桔子2 小时前
Sentinel核心能力解析:限流与集群方案
后端·架构·sentinel
信码由缰2 小时前
Spring Boot 面试问题
spring boot·后端·面试