如何在asp.net Core 3中更改默认端口

时间:2019-11-18 18:46:44

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

在调试时,要更改默认端口,请修改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();

3 个答案:

答案 0 :(得分:3)

使用命令行参数

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

  • OR-

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

答案 1 :(得分:0)

您可以通过更改 LaunchSettings.json。

来简单地更改端口。

您可以通过 Properties-> LaunchSettings.json查找。

enter image description here

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

答案 2 :(得分:0)

我终于明白了
之前

   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();
}

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