Я следовал этому руководству (по крайней мере, мой WCF основывался на этом , потому что тогда мне нужно работать одинаково): http://www.eggheadcafe.com/tutorials/wcf/b5ada8df-58c5-492f-b368-457b3a4f137c/notify-client-applications-using-wcf-callbacks.aspx
На моем компьютере все работает очень хорошо , но мне нужно использовать его через Интернет. При попытке сделать это я услышал (через интернет), что лучше использовать netTcpBiding.
У меня будет сервер, который будет знать количество онлайн-клиентов. Мне нужна служба WFC на моем IIS на сервере, а служба Windows использует ее и уведомляет об этом. Мне нужен обратный вызов, потому что сервер когда-нибудь должен иметь возможность выполнять некоторые команды на клиенте.
Я был бы очень рад, если бы кто-нибудь мог мне помочь.
Заранее спасибо,
Редактировать:
Поясняю: я просто не смог заставить его работать через Интернет. Не могли бы вы, ребята, показать мне, как я могу изменить свои конфигурации (Web.config и App.config), чтобы использовать netTcpBinding и работать через Интернет?
Еще раз спасибо,
Изменить 2:
Мой Web.config в моем WCFServiceApplication:
Мой App.config в моем WindowsService:
Простое изменение его на netTcpBinding не работает...
Но я был бы достаточно рад, чтобы иметь возможность запускать это через Интернет... Я опубликовал WCFService на IIS. Ссылки:
https://www2.tcenter.com.br/monitor/PCWatcherWCFService.svc
ИЛИ
http://www2.tcenter.com.br:8080/monitor/PCWatcherWCFService.svc
Простого изменения конфигурации достаточно, чтобы заставить его работать через Интернет? как я уже сказал, локально это работает просто отлично.
Я думал, что простое изменение адреса конечной точки на клиенте на один из URL-адресов над ним сработает, но это не сработало...
Пример, который вы связали, размещает службу на WPF. Я не знаю, применимо ли это к моему сценарию...
Я думаю, что буду придерживаться DualHttpBinding, вы не думаете, что переадресация портов хороша для моих нужд, у меня может быть много клиенты в одной интрасети, и маршрутизатор решает, какой из них он собирается отправлять информацию, потому что это нехорошо, верно? или есть способ заставить маршрутизатор правильно реагировать на каждую машину, подключающуюся к моему веб-серверу через один и тот же порт?! (просто спрашиваю, хе-хе-хе)
Заранее большое спасибо,
Редактировать от 21.06.2012:
Спасибо за прочтение. Мне не удалось заставить службу работать с netTcpBinding в локальной сети. Я сделал пробный образец своего cenario. Это здесь. Называется DualCommunicationTest.
Когда я начал этот пост, я просто хотел узнать, как запустить этот кенарий в Интернете. Только то. Пока я искал решение, прежде чем публиковать здесь, я прочитал, что netTcpBinding лучше. Поэтому я спросил об этом. Это был просто побочный вопрос.
Итак... мои текущие нужды в посте:
Как использовать образец, который я разработалв Интернете.
ИЛИ
Как заставить образец, который я разработал, работать с netTcpBinding И затем иметь возможность использовать его в Интернете. (Я почти уверен, что Clunky Coderнаучил меня второй части, как опубликовать net.tcp в Интернете с помощью IIS и прочего, большое спасибо за это, но я не смог проверить это еще, потому что я еще не мог сделать netTcp.)
Извините, если я был недостаточно ясен, мой английский не так хорош. извините и еще раз большое спасибо.