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

14

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

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

但是,如果我将应用程序发布在一个文件夹(selfHost)中并运行可执行文件,则它始终侦听端口5000。有人知道如何在生产环境中更改默认端口。我尝试在program.cs中使用UseUrls进行更改,但没有起作用。

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

这些都是本地主机。你在生产环境中使用域名时,是否也使用了生产环境的域名? - Hogan
应用程序是自托管的,该示例处于调试状态。 - ja73
2
可能是如何更改Asp.Net Core应用程序的端口号?的重复问题。 - Pavel Kovalev
域名与自托管无关。如果它在服务器上,则不能在本地主机上。localhost仅适用于本地计算机。请检查您所复制的问题... 在那里解释得很好。 - Hogan
3个回答

25

我终于明白了
之前

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

我希望这对其他人有所帮助。 谢谢。


3
FYI,您还可以设置环境变量,这样值就不会硬编码到您的应用程序中。ASPNETCORE_URLS=https://*:8081;http://*:8080应该可以做到。 - Kirk Larkin

10

使用命令行参数

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

  • 或者 -

dotnet /产品/完整/路径/产品.dll --urls "http://localhost:5100;https://localhost:5101"


7

通过更改LaunchSettings.json,您可以简单地更改端口。

您可以通过属性- > LaunchSettings.json找到。

enter image description here

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接