如何更改我的 .NET Core 6 的默认端口号 API

How to change default port no of my .NET core 6 API

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

我正在使用 visual studio 2022 和 .NET 核心 6。

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

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

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

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

编辑:添加

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

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

用于开发目的

您可以在属性文件夹中的 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 extension method, but at the current time this is not working due the bug #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

快速解决方案:

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