使用Kestrel,您可以使用以下方法指定端口:
定义ASPNETCORE_URLS环境变量。
视窗
SET ASPNETCORE_URLS=https://0.0.0.0:5001
OS X
export ASPNETCORE_URLS=https://0.0.0.0:5001
通过命令行传递--server.urls参数
dotnet run --server.urls=http://0.0.0.0:5001
使用UseUrls()方法
var builder = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://0.0.0.0:5001")
server.urls在配置源中定义设置。
hosting.json例如,下一个样本使用文件。
Add `hosting.json` with the following content to you project:
{
"server.urls": "http://<ip address>:<port>"
}可能值的示例:
在任何接口上的任何IP4和IP6地址上侦听5000:
"server.urls": "http://*:5000"
要么
"server.urls": "http://::5000;http://0.0.0.0:5000"
在每个IP4地址上侦听5000:
"server.urls": "http://0.0.0.0:5000"
一要仔细,不能使用http://*:5000;http://::5000, http://::5000;http://*:5000,http://*:5000;http://0.0.0.0:5000或http://*:5000;http://0.0.0.0:5000因为它需要注册IP6地址::或IP4地址0.0.0.0两次
将文件添加到publishOptions在project.json
"publishOptions": {
"include": [
"hosting.json",
...
]
}并且在创建WebHostBuilder时在应用程序调用的入口点:.UseConfiguration(config)
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();
}