Kestrel:访问它正在监听的IP +端口对

问题描述 投票:1回答:1

我需要侦听IP +端口对才能通过NAT实现转发它们。但是,除非请求(当HttpContext变得可访问时),我没有看到访问此信息的简单方法。

我注意到其他人在Determine port in asp.net core上有同样的问题,但没有得到答复。

任何人都有线索棒打我?谢谢!

c# asp.net-core .net-core kestrel-http-server
1个回答
1
投票

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,而不是IISnginx

© www.soinside.com 2019 - 2024. All rights reserved.