我有几个.NET Core应用程序,当我运行dotnet run
时,它们决定侦听不同的端口(一个到5000,一个到5000和5001)。
我一直在寻找一些有关如何做出这些决定的全面文档,但是找不到我想要的东西。
Kestrel按优先顺序查找此设置的详尽位置是什么?
为简单起见,假设我使用默认的WebHostBuilder
:
public class Program
{
public static void Main(string[] args)
{
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build()
.Run();
}
}
答案 0 :(得分:0)
根据Endpoint configuration下的文档
默认情况下,ASP.NET Core绑定到:
http://localhost:5000
https://localhost:5001
(如果存在本地开发证书)...
源代码也支持
/// <summary>
/// The endpoint Kestrel will bind to if nothing else is specified.
/// </summary>
public static readonly string DefaultServerAddress = "http://localhost:5000";
/// <summary>
/// The endpoint Kestrel will bind to if nothing else is specified and a default certificate is available.
/// </summary>
public static readonly string DefaultServerHttpsAddress = "https://localhost:5001";
内部AddressBinder
使用哪个设置来设置默认情况下使用的主机和端口。