ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法來配置。
今天給介紹全面的ASP.NET Core 配置 Urls,使用多種方式配置Urls。
讓你了解ASP.NET Core Kestrel 的地址設置。
下面我們就來了解如何配置。我將介紹4種方式來配置Urls。
首先我們新建一個ASP.NET Core 空應用程序。
UseUrls
大家最熟悉的一種也就是使用UseUrls 。下面我們就來實際使用。
UseUrls 方法可以使用多個地址,也可以使用一個地址。
單個網址
UseUrls("http://localhost:5001")
多個網址
UseUrls("http://localhost:5001", "http://localhost:5002", "http://*:5003")//多個地址 *代表綁定所有本機地址 可以局域網訪問,擁有外網ip 就可以外網訪問
所有的代碼都在 Program.cs Main 方法里
public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseUrls("http://localhost:5001", "http://localhost:5002", "http://*:5003") .UseStartup<Startup>() .Build(); host.Run(); }
使用Kestrel運行程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可訪問。
配置文件
下面使用配置文件來設置網址。
首先在項目中添加一個ASP.NET 配置文件hosting.json,在配置文件中加入server.urls 節點。
{ "server.urls": "http://localhost:5001;http://localhost:5002;http://*:5003" }
這里首先需要添加兩個引用
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", "Microsoft.Extensions.Configuration.Json": "1.0.0"
然后Program.cs
public static void Main(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true) .Build(); var host = new WebHostBuilder() .UseConfiguration(config) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }
使用Kestrel運行程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可訪問。
命令行參數
下面使用命令行參數來設置網址。
首先我們需要添加
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0"
然后Program.cs
public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddCommandLine(args) .Build(); var host = new WebHostBuilder() .UseConfiguration(config) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }
我們到項目目錄使用命令
dotnet run --server.urls "http://localhost:5001;http://localhost:5002;http://*:5003"
然后訪問 http://localhost:5001 http://localhost:5002 http://localhost:5003 均可訪問。
環境變量
這里我們可以通過環境變量來設置網址。
我們可以設置系統的環境變量,也可以在VS里設置只用於調試。
首先更改Program.cs
public static void Main(string[] args) { //環境變量 var config = new ConfigurationBuilder() .AddEnvironmentVariables("LineZero_") .Build(); var host = new WebHostBuilder() .UseConfiguration(config) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }
在項目右鍵屬性-》調試 ,這里我們添加變量。
添加一個名稱為: LineZero_SERVER.URLS 值為:http://localhost:5001;http://localhost:5002;http://*:5003
然后啟動程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可訪問。
這里我是直接在VS 里添加環境變量,只作用調試環境,如果大家希望系統級別可以使用,就在系統下設置環境變量。
順便講解一下 ASPNETCORE_ENVIRONMENT 這里就是環境變量,為何我們在VS 調試的時候看到的 Development,就是這個環境變量控制的。
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。