在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
想要通过命令行方式运行ASP.NET Core,指定运行的端口号,该怎么做呢? 两种方法: 第一种方法:通过配置文件指定端口 1.添加一个json配置文件,一般命名为 host.json,也可以使用默认配置文件 appsettings.json 添加配置项,多个端口可以通过分号(;)隔开。 "server.urls": "http://*:5025;http://*:5026" 2.修改 Program.cs 的 Main 方法,定义 ConfigurationBuilder 对象。 public class Program { public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true) .Build(); CreateWebHostBuilder(args) .UseConfiguration(config) .Build() .Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); } 第二种方法:通过运行时参数指定端口号 1.添加引用:Microsoft.Extensions.Configuration.CommandLine 2.修改 Program.cs 的 Main 方法,定义 ConfigurationBuilder 对象。 public class Program { public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddCommandLine(args) .Build(); CreateWebHostBuilder(args) .UseConfiguration(config) .Build() .Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); }
3.运行时指定参数:dotnet AspnetDockerTest.dll --server.urls "http://*:5005;http://*:5006" 思考: 指定运行端口号并不是我的目的,我在考虑,通过第二种,指定运行时参数来启动服务的方式,我们可以对一个aspnet core程序启动多个服务实例,只要端口号不同就行,这样是不是更方便集群部署呢。 |
请发表评论