Я разрабатываю приложение .NET 4.0 С# Windows Forms, в котором размещается служба WCF на каком-либо предопределенном порту (скажем, 12345). У нас есть еще одно приложение для iPad, которое говорит об этом сервисе WCF - и это соединение блокируется брандмауэром Windows. У моих пользователей всегда есть проблемы с ним, потому что они должны помнить, чтобы добавить это приложение в список исключений и т.д., Что вызывает разочарование.
Что требуется, чтобы заставить Windows отображать всплывающее окно, как на скриншоте ниже для моего приложения, чтобы сделать его более удобным?
UPDATE. Я понимаю, что я могу программно обновлять правила в брандмауэре Windows. Однако для этого потребуются привилегии администратора, которые не всегда возможны. Например, я думаю о развертываниях ClickOnce некоторое время в будущем - не знаю, как это сработает с этим. Поэтому мне все еще интересно, что мне делать, чтобы получить этот диалог.
РЕШЕНИЕ: спасибо @alexw ответ ниже, я смог получить диалог, используя этот простой код:
IPAddress ipAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 12345);
TcpListener t = new TcpListener(ipLocalEndPoint);
t.Start();
t.Stop();
и более - невозможно получить это всплывающее окно для службы WCF как состояния документации (см. внизу):
Самостоятельная HTTP-адресация для WCF не интегрирована в Windows брандмауэр. В конфигурацию брандмауэра необходимо добавить исключение, чтобы разрешить входящие соединения с использованием определенного URL-адреса.