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