2 votes

Kestrel : accès aux paires IP+port sur lesquelles il écoute.

J'ai besoin des paires IP+port d'écoute pour pouvoir les transmettre à travers une implémentation NAT. Cependant, à moins d'une requête (ce qui est le cas lorsque HttpContext devient accessible), je ne vois pas de moyen facile d'accéder à ces informations.

J'ai noté que quelqu'un d'autre avait la même question sur Déterminer le port dans asp.net core mais elle est restée sans réponse.

Quelqu'un a un indice à me donner ? Merci.

2voto

itminus Points 12070

El IWebHost a une interface ServerFeatures qui est une instance de IFeatureCollection . Si vous voulez obtenir l'adresse et le port du serveur avant la création d'un HttpContext, vous pouvez les récupérer par :

public static void Main(string[] args)
{
    var host = CreateWebHostBuilder(args).Build();

    var serverAddresses = host.ServerFeatures.Get<IServerAddressesFeature>();

    // ... use serverAddresses as you like

    host.Run();
}

Notez que le serverAddresses ici est le Address:Port écouté par les WebHost et non par IIS o nginx .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X