【问题标题】:How to change default port no of my .NET core 6 API如何更改我的 .NET core 6 API 的默认端口号
【发布时间】:2023-03-29 22:22:01
【问题描述】:

我正在尝试从项目的属性部分更改默认端口,但我看不到任何选项。

我正在使用带有 .NET core 6 的 Visual Studio 2022。

【问题讨论】:

  • 这是一个 ASP.NET Core API 吗?还是其他类型的?
  • 是的,是.net core api
  • 我建议添加[asp.net-core]标签。
  • 哎呀我错过了,谢谢

标签: c# asp.net-core .net-6.0


【解决方案1】:

端口是在端点中定义的,有多种方法可以改变它们:

出于开发目的

您可以更改属性文件夹内的launchSettings.json 文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:22963",
      "sslPort": 44349
    }
  },
  "profiles": {
    "UrlTest": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7244;http://localhost:5053",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

服务器端点

在根目录有一个名为appsettings.json的文件,你可以更改服务器相关的配置,这是一个Kestrel的例子:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:5400"
      },
      "Https": {
        "Url": "https://localhost:5401"
      }
    }
  }
}

从命令行

您可以使用--urls 参数运行应用程序来指定端口:

dotnet run --urls http://localhost:8076

环境变量

您可以设置ASPNETCORE_URLS。

来自源代码

您可以将 Url 传递给Run 方法:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run("http://localhost:6054");

或UseUrl 扩展方法,但目前由于错误#38185 无法正常工作:

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://localhost:3045");
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

来源:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-6.0

关于部署的好文档: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-6.0

【讨论】:

  • 在 Ubuntu 上使用 Apache 和反向代理尝试了“服务器端点”方法,但没有成功,但使用“来自源代码”工作正常
【解决方案2】:

您可以从启动配置文件设置中进行设置

点击运行按钮上的下拉菜单。

现在点击调试属性。 单击该启动配置文件窗口将打开。

现在您可以从此处更改应用 URL 的端口。

编辑:添加

您也可以从项目配置文件中更改它,如下所示。

【讨论】:

    【解决方案3】:

    快速解决方案:

    if (app.Environment.IsDevelopment())
    {
        app.Run();
    }
    else
    {
        app.Run("http://127.0.0.1:8080");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-07
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 2017-08-20
      • 1970-01-01
      • 2019-09-08
      相关资源
      最近更新 更多