Привязка хоста при развертывании ядра .net в качестве службы Windows. - PullRequest
0 голосов
/ 21 июня 2019

У нас есть веб-API, который мы создали с помощью .NET core 2.1. У нас есть два сервера, которые находятся за балансировщиком нагрузки netscaler. Внутри этих серверов нам удалось установить наши веб-API в порту 5000. Теперь у нас есть DNS-имя хоста, которое сопоставлено с нашим балансировщиком нагрузки. Как мы можем сделать привязку имени хоста для нашей службы Windows? Если мы внедряем с использованием IIS, тогда мы можем указать эту привязку, но когда мы развернем ее как службу Windows, как мы сможем этого добиться?

1 Ответ

0 голосов
/ 21 июня 2019

Лучший способ - использовать метод расширений UseUrls на IWebHostBuilder и использовать специальный способ привязки к URL-адресам: http://+:5000. При таком связывании приложение будет пытаться привязать к http://localhost:5000 кака также http://{hostname}:5000. Таким образом, код в вашем случае будет выглядеть так:

WebHost.CreateDefaultBuilder(args).UseUrls("http://+:5000");

Вы должны убедиться, что у учетной записи, на которой запущена служба Windows, есть соответствующий уровень разрешений для привязки к сетевому пути!

РЕДАКТИРОВАТЬ:

Как упоминалось в комментариях @Lex Li, эта последняя часть о разрешениях не совсем корректна, так как вы можете зарезервировать использование URL во время процесса установки.Когда это сделано таким образом, учетная запись, на которой запущена служба Windows, не должна иметь повышенных разрешений. Подробнее

...