NET问答: 如何给 ASP.NET Core 配置指定端口 ?

今天

以下文章来源于NET技术问答 ,作者Stackoverflow

NET技术问答精选 StackOverFlow 上的.NET 相关技术问题解答

咨询区

  • Drew Noakes

我是 ASP.NET Core 方面是新人,我发现程序默认的端口是 5000,因为要正式发布,所以希望把程序的端口改成 80,请问我该如何配置自定义端口呢 ?

回答区

  • Kévin Chalet

在 ASP.NET Core 3.1 中,我总结了下,大概有 4 种方式可以修改默认端口。

  • 使用命令行模式,也就是在启动的时候通过 --urls 去指定。
dotnet run --urls=http://localhost:5001/

  • 在 appsettings.json 中去指定,添加一个 Urls 节点即可。
{  "Urls": "http://localhost:5001"}

  • 使用 环境变量 方式。
ASPNETCORE_URLS=http://localhost:5001/

  • 使用 UseUrls(),如果你喜欢硬编码或者想把 http 隐藏在内存中。
public static class Program{    public static void Main(string[] args) =>        CreateHostBuilder(args).Build().Run();

    public static IHostBuilder CreateHostBuilder(string[] args) =>        Host.CreateDefaultBuilder(args)            .ConfigureWebHostDefaults(builder =>            {                builder.UseStartup<Startup>();                builder.UseUrls("http://localhost:5001/");            });}

如果你的项目中使用的是原始的 WebHostBuilder 的话,参考下面代码去配置。

public class Program{    public static void Main(string[] args) =>        new WebHostBuilder()            .UseKestrel()            .UseContentRoot(Directory.GetCurrentDirectory())            .UseIISIntegration()            .UseStartup<Startup>()            .UseUrls("http://localhost:5001/")            .Build()            .Run();}

点评区

没想到在 ASP.NET Core 中配置一个自定义端口,竟然有 4 种方法,不过小编喜欢用第一种方式,这样就方便我用 docker 自动化部署时在 command 参数中自动指定。

(0)

相关推荐