Как настроить службу WCF для работы в качестве обычного TCP-сервера? Можно ли отключить все эти специфические привязки, чтобы сохранить URL-адрес вашего сервиса, например http://example.com:4444/service, и работать с чистыми потоками HTTP / TCP?
Мне нужно иметь возможность работать с потоками TCP в тандеме со службами WCF ... поэтому мне нужно сделать сервер TCP из одной из моих служб WCF или (и я не знаю, как) сделать свои службы WCF самостоятельно размещенными работать в паре с моим автономным TCP-сервером. Тем не менее, я просто не могу найти, как заставить их использовать один и тот же порт, чтобы можно было звонить http://example.com:4444/WCFservice/ http://example.com:4444/TCPserver/ (И я должен заставить их делить его; брать 2 порта не опция.)
Самый простой способ добавить конечную точку TCP в службу - это изменить файл web.config в соответствии с «Редактором конфигурации службы WCF». Вы можете найти его в меню «Инструменты» Visual Studio в контекстном меню web.config (также в VS). Вам нужно добавить новую конечную точку с помощью netTcpBinding. Адрес такой новой конечной точки будет начинаться с «net.tcp: //». Для получения дополнительной информации вы можете прочитать http://msdn.microsoft.com/en-us/library/cc949080.aspx.
Для совместного использования портов net.tcp прочитайте http://msdn.microsoft.com/en-us/library/aa395195.aspx или в Google для:
Хороший обзор новых функций WCF 4 вы можете найти в http://msdn.microsoft.com/en-us/library/ee354381.aspx
И будьте спокойны, если кто-то не понимает преимуществ WCF по сравнению с программированием Winsocket. 15 лет назад я использовал розетки и нашел это круто. Тогда я использовал RPC, DCOM и т. Д. Теперь WCF - лучший способ, если вы думаете об аутентификации вашей конечной точки. Так что примите некоторые предыдущие комментарии легко.
Если вы хотите работать с чистыми потоками TCP, вы, вероятно, работаете с сокетами напрямую, а не с WCF.
Используйте WCF, когда хотите, чтобы все автоматически реализовывалось для вас на транспортном уровне.