Мне нужно создать автономную службу WCF. Мне нужно безопасное дуплексное соединение между клиентом и сервером через Интернет.
Я прочитал некоторые документы WCF и обнаружил, что netTcpBinding подходит для приложений интрасети, потому что SSL - это только точка 2. Если это интернет-приложение, соединение не должно быть точкой 2, я прав? так что SSL в транспортной безопасности с netTcpBinding не подходит?
Итак, какую комбинацию мне следует использовать для создания безопасного дуплексного Интернет-приложения? большое спасибо.
Я пробовал http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx в этом руководстве используется netTcpBinding и localhost конечной точки.
Я меняю локальный хост конечной точки на URL-адрес на основе имени, перенаправляю порт в моем маршрутизаторе на компьютер разработки, открываю тот же порт в брандмауэре Windows.
Клиентская программа может общаться с каждой программой cients на разных машинах, НО соединение обратного вызова будет потеряно через одну минуту.
Я также попытался изменить привязку к wsDualHttpBinding, клиентская программа может общаться с каждым клиентом на одном и том же компьютере и сохранила соединение обратного вызова в настройке надежного сеанса inactivityTimeout. Однако другая клиентская программа на другом компьютере не может подключиться к серверу. Если я отключу брандмауэр Windows на этом компьютере, клиентская программа сможет подключиться.
Кажется, что привязка tcp может позволить клиентской программе подключиться к серверу с брандмауэром Windows. но соединение обратного вызова потеряно.
а wsDualHttpBinding может сохранять соединения обратного вызова. но не может подключиться к серверу, если брандмауэр Windows включен.
Есть ли способ сохранить соединение обратного вызова netTcpBinding, как в wsDualHttpBinding?