Kestrel:访问它正在侦听的 IP+端口对
Kestrel: get access to IP+port pair(s) it's listening on
我需要侦听 IP + 端口对才能通过 NAT 实现转发它们。但是,除非有请求(当 HttpContext 变得可访问时),我没有看到访问此信息的简单方法。
我注意到其他人在 Determine port in asp.net core 上也有同样的问题,但没有人回答。
谁有线索棒可以打我?谢谢!
IWebHost
接口有一个 ServerFeatures
属性 ,它是 IFeatureCollection
的一个实例。如果您想在创建 HttpContext 之前获取服务器地址和端口,您可以通过以下方式检索它们:
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
var serverAddresses = host.ServerFeatures.Get<IServerAddressesFeature>();
// ... use serverAddresses as you like
host.Run();
}
注意这里的 serverAddresses 是 WebHost
监听的 Address:Port
,而不是 IIS
或 nginx
监听的
。
我需要侦听 IP + 端口对才能通过 NAT 实现转发它们。但是,除非有请求(当 HttpContext 变得可访问时),我没有看到访问此信息的简单方法。
我注意到其他人在 Determine port in asp.net core 上也有同样的问题,但没有人回答。
谁有线索棒可以打我?谢谢!
IWebHost
接口有一个 ServerFeatures
属性 ,它是 IFeatureCollection
的一个实例。如果您想在创建 HttpContext 之前获取服务器地址和端口,您可以通过以下方式检索它们:
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
var serverAddresses = host.ServerFeatures.Get<IServerAddressesFeature>();
// ... use serverAddresses as you like
host.Run();
}
注意这里的 serverAddresses 是 WebHost
监听的 Address:Port
,而不是 IIS
或 nginx
监听的