ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置。
今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls。
让你了解ASP.NET Core Kestrel 的地址设置。
下面我们就来了解如何配置。我将介绍4种方式来配置Urls。
1、UseUrls方法
大家最熟悉的一种也就是使用UseUrls 。下面我们就来实际使用。
UseUrls 方法可以使用多个地址,也可以使用一个地址。
单个网址 UseUrls("http://localhost:5001")
多个网址 UseUrls("http://localhost:5001", "http://localhost:5002", "http://*:5003")
//多个地址 *代表绑定所有本机地址 可以局域网访问,拥有外网ip 就可以外网访问
2、配置文件
下面使用配置文件来设置网址。
1).首先在项目中添加一个ASP.NET 配置文件hosting.json,在配置文件中加入server.urls 节点。
{ "server.urls": "http://localhost:5001;http://localhost:5002;http://*:5003"}
2).这里首先需要添加两个引用
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0"
"Microsoft.Extensions.Configuration.Json": "1.0.0"
3).Main
方法添加配置
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
// 这里添加配置文件
.AddJsonFile(Path.Combine("config", "hosting.json"), true)
.Build(); var host = new WebHostBuilder()
.UseKestrel()
// 添加配置
.UseConfiguration(config)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build(); host.Run();
}
4).最后别忘了在project.json
中添加输出配置,直接把整个config目录放进去了
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"appsettings.json",
"web.config",
"config"
]
}
3、到项目目录使用命令
dotnet run --server.urls "http://localhost:5001;http://localhost:5002;http://*:5003"
4、环境变量
环境变量的名字ASPNETCORE_URLS
(过时的名字是:ASPNETCORE_SERVER.URLS
)
设置临时环境变量
linux:export ASPNETCORE_URLS="http://*:5001"
windows:set ASPNETCORE_URLS="http://*:5001"
设置完之后运行即可 dotnet xxx.dll