我需要侦听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是由Address:Port
监听的WebHost
,而不是IIS
或nginx
。