【问题标题】:How to change the default port in asp.net Core 3 or Net Core 5如何更改 asp.net Core 3 或 Net Core 5 中的默认端口
【发布时间】:2019-11-18 18:46:44
【问题描述】:

当我在调试时,为了更改默认端口,我修改了launchSettings.json文件,并更改了端口

"WebApplication1": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "weatherforecast",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://*:8081;http://*:8080"
    }

但如果我在文件夹 (selfHost) 中发布应用程序并启动可执行文件,它总是在端口 5000 上侦听 有人知道如何更改生产中的默认端口。 我尝试使用 UseUrls 在 program.cs 中更改它,但没有工作

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                }).UseWindowsService()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>()
                    .UseUrls("http://*:8080","https://*:8081");
                })
            .UseSerilog();

【问题讨论】:

  • 这些都说本地主机。你投产的时候是不是也用了生产的域名?
  • 应用程序是自托管的,该示例正在调试中
  • 如果是自托管的,域名就不用做。如果它在服务器上,那么它不能在本地主机上。 localhost 仅适用于本地机器。检查你是重复的问题......它在那里解释得很好。

标签: c# asp.net-core asp.net-core-webapi asp.net-core-3.0 self-host-webapi


【解决方案1】:

我终于明白了
之前

   webBuilder.UseStartup<Startup>();

添加

 webBuilder.UseUrls("https://*:8081", "http://*:8080");

这是代码

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                }).UseWindowsService()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseUrls("https://*:8081", "http://*:8080");
                    webBuilder.UseStartup<Startup>();
                })
            .UseSerilog();
}

我希望它对其他人有用。 谢谢

【讨论】:

  • 仅供参考,您还可以设置环境变量,以便这些值不会硬编码到您的应用程序中。 ASPNETCORE_URLS=https://*:8081;http://*:8080 应该这样做。
【解决方案2】:

使用命令行参数

dotnet 运行 --urls "http://localhost:5100;https://localhost:5101"

  • 或者-

dotnet /Product/Full/Path/Product.dll --urls "http://localhost:5100;https://localhost:5101"

【讨论】:

    【解决方案3】:

    Yoy 可以通过更改 LaunchSettings.json 来简单地更改端口。

    你可以通过Properties->LaunchSettings.json找到。

    {
      "iisSettings": {
      "iisExpress": {
      "applicationUrl": "http://localhost:8080",
      "sslPort": 96085<== Change_This as you wish
      }
    },
    

    【讨论】:

      猜你喜欢
      • 2021-12-16
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 2022-08-11
      • 2021-07-20
      • 2021-12-29
      相关资源
      最近更新 更多