asp.net-core
Публикация и развертывание
Поиск…
Пустельга. Настройка адреса прослушивания
Используя Kestrel, вы можете указать порт, используя следующие подходы:
Определение переменной среды
ASPNETCORE_URLS
.Windows
SET ASPNETCORE_URLS=https://0.0.0.0:5001
OS X
export ASPNETCORE_URLS=https://0.0.0.0:5001
--server.urls
командной строки--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
в источнике конфигурации.
В следующем примере используйте файл hosts.json, например.
Add `hosting.json` with the following content to you project:
{
"server.urls": "http://<ip address>:<port>"
}
Примеры возможных значений:
слушать 5000 на любых IP4 и IP6-адресах из любого интерфейса:
"server.urls": "http://*:5000"
или же
"server.urls": "http://::5000;http://0.0.0.0:5000"
слушать 5000 на каждом IP4-адресе:
"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",
...
]
}
и в точке входа для вызова приложения .UseConfiguration(config)
при создании WebHostBuilder:
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();
}