使用 Kestrel 时可配置的端口号?
Configurable port number when using Kestrel?
我已完成以下操作,但仍然无效。 运行 dotnet myapp.dll
仍然显示它正在收听 http://localhost:5000。
- 创建hosting.json
代码:
{
"server.url": "http://*:5001"
}
- 已更新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()
.UseConfiguration(config) // added
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
//.UseUrls("http://*:5001")
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
- 已更新 project.json
代码:
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
您需要更改顺序:.SetBasePath
应该在读取文件之前调用
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true, reloadOnChange: true)
.Build();
使用server.urls
,而不是server.url
我已完成以下操作,但仍然无效。 运行 dotnet myapp.dll
仍然显示它正在收听 http://localhost:5000。
- 创建hosting.json
代码:
{
"server.url": "http://*:5001"
}
- 已更新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()
.UseConfiguration(config) // added
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
//.UseUrls("http://*:5001")
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
- 已更新 project.json
代码:
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config",
"NLog.config",
"hosting.json"
]
您需要更改顺序:
.SetBasePath
应该在读取文件之前调用var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true, reloadOnChange: true) .Build();
使用
server.urls
,而不是server.url