сервис не слушает на порту от хостинга.формат JSON
Вот моя программа.cs
public class Program
{
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true, reloadOnChange: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
//.UseUrls("http://*:50000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
У меня есть хостинг.json следующим образом.
{
"server.urls": "http://*:5011"
}
Мой проект.json содержит следующие
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
}
Однако, когда я запускаю его либо из Visual Studio, либо за пределами VS (просто запустив исполняемый файл), я вижу следующее
А теперь слушайте дальше: http://localhost:5000
Почему он не использует порт 5011, как в хостинге.джсон?
1 ответ:
Вы создаете конфигурационный конструктор, но не используете его. Вы можете использовать конструктор конфигураций следующим образом.UseConfiguration(config). Вот модифицированный код.
public static void Main(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true, reloadOnChange: true) .Build(); var host = new WebHostBuilder() .UseKestrel() .UseConfiguration(config) .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }