У меня есть приложение службы C #, к которому клиенты xml-rpc должны обращаться извне. Он размещается самостоятельно через HttpListenerRequest; не IIS размещен. (Нельзя требовать, чтобы на серверах был включен IIS)
Он отлично работает с клиентом, когда брандмауэр сервера выключен ИЛИ открыты порты, которые использует приложение. Однако, если я создам исключение брандмауэра, чтобы включить приложение через его имя; его невозможно получить с клиентского компьютера. (Я пробовал как вручную включить службу, так и добавить код для включения приложения из моего установщика.)
Причина, по которой я хочу, чтобы приложение было включено; а не порты, это то, что порты могут измениться. (Мое приложение будет проверять диапазон доступных портов на случай, если порты по умолчанию уже используются). Оглядываясь вокруг, кажется, что для любой службы, которая не является полностью «самодостаточной», нельзя включить брандмауэр.
Кто-нибудь знает обходной путь для этого?