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

相关推荐
意倾城8 分钟前
Spring Boot 配置文件敏感信息加密:Jasypt 实战
java·spring boot·后端
火皇4058 分钟前
Spring Boot 使用 OSHI 实现系统运行状态监控接口
java·spring boot·后端
薯条不要番茄酱40 分钟前
【SpringBoot】从零开始全面解析Spring MVC (一)
java·spring boot·后端
懵逼的小黑子8 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django
小林学习编程10 小时前
SpringBoot校园失物招领信息平台
java·spring boot·后端
java1234_小锋11 小时前
Spring Bean有哪几种配置方式?
java·后端·spring
柯南二号12 小时前
【后端】SpringBoot用CORS解决无法跨域访问的问题
java·spring boot·后端
每天一个秃顶小技巧13 小时前
02.Golang 切片(slice)源码分析(一、定义与基础操作实现)
开发语言·后端·python·golang
gCode Teacher 格码致知14 小时前
《Asp.net Mvc 网站开发》复习试题
后端·asp.net·mvc
Moshow郑锴16 小时前
Spring Boot 3 + Undertow 服务器优化配置
服务器·spring boot·后端