想要通過命令列方式運行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程式啟動多個服務實體,只要埠號不同就行,這樣是不是更方便集群部署呢,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/58068.html
標籤:.NET Core
