Как получить. net имя и параметры главного сервера - PullRequest
1 голос
/ 13 марта 2020

Я использую c#. net core на linux. Я хочу увидеть, какие параметры сервера и какое имя сервера я использую. Я знаю, что имя сервера должно быть Kestrel, а параметры должны быть примерно такими:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.kestrelserveroptions?view=aspnetcore-1.1

Но как получить эту информацию во время выполнения?

1 Ответ

2 голосов
/ 17 марта 2020

Вы можете получить информацию о сервере, введя услугу IServer . Какой будет действующий экземпляр сервера. Оттуда вы можете получить доступ к KestrelServerOptions в свойстве Опции . Вот пример фрагмента кода, в который я вставляю его в контроллер и получаю параметры.

public WeatherForecastController(ILogger<WeatherForecastController> logger, IServer webServer)
{
   _logger = logger;
   KestrelServer kestrelServer = webServer as KestrelServer;
   if (kestrelServer == null)
   {
      throw new Exception($"Not running inside Kestrel server. The current server type is {webServer.GetType().FullName}");
   }
   else
   {
      KestrelServerOptions kestrelServerOptions = kestrelServer.Options;
      // do something with the options
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...