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

相关推荐
努力的小雨37 分钟前
还在为调试提示词头疼?一个案例教你轻松上手!
后端
魔都吴所谓1 小时前
【go】语言的匿名变量如何定义与使用
开发语言·后端·golang
陈佬昔没带相机1 小时前
围观前后端对接的 TypeScript 最佳实践,我们缺什么?
前端·后端·api
Livingbody3 小时前
大模型微调数据集加载和分析
后端
Livingbody3 小时前
第一次免费使用A800显卡80GB显存微调Ernie大模型
后端
Goboy4 小时前
Java 使用 FileOutputStream 写 Excel 文件不落盘?
后端·面试·架构
Goboy4 小时前
讲了八百遍,你还是没有理解CAS
后端·面试·架构
麦兜*5 小时前
大模型时代,Transformer 架构中的核心注意力机制算法详解与优化实践
jvm·后端·深度学习·算法·spring·spring cloud·transformer
树獭叔叔5 小时前
Python 多进程与多线程:深入理解与实践指南
后端·python
阿华的代码王国5 小时前
【Android】PopupWindow实现长按菜单
android·xml·java·前端·后端