服务未侦听来自 hosting.json 的端口
service not listening on port from hosting.json
这是我的 Program.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();
}
}
我有一个hosting.json如下。
{
"server.urls": "http://*:5011"
}
我的 project.json 包含以下内容
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
}
然而,当我从 Visual Studio 内部或 VS 外部(仅通过启动可执行文件)运行 它时,我看到以下内容
Now listening on: http://localhost:5000
为什么它不像 hosting.json 那样使用端口 5011?
您正在创建 ConfigurationBuilder,但并未使用它。您可以像这样使用配置生成器 - .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();
}
这是我的 Program.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();
}
}
我有一个hosting.json如下。
{
"server.urls": "http://*:5011"
}
我的 project.json 包含以下内容
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
}
然而,当我从 Visual Studio 内部或 VS 外部(仅通过启动可执行文件)运行 它时,我看到以下内容
Now listening on: http://localhost:5000
为什么它不像 hosting.json 那样使用端口 5011?
您正在创建 ConfigurationBuilder,但并未使用它。您可以像这样使用配置生成器 - .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();
}