我有一个基于 TCPListener 的服务器应用程序,它在单个特定端口上监听客户端。客户端连接,发送一些 xml,返回一些 xml 作为响应,然后断开连接。
是否可以在不对客户端进行任何更改的情况下用 WCF 服务替换基于 TCPListener 的应用程序?如果可以,有人可以建议可以帮助我构建此类服务的资源吗?
最佳答案
理论上是的。 WCF 有许多扩展点,因此您可以包含自己的 message encoder , 你自己的 transport channel等等。您可以包括影响消息格式等的自定义行为。即使您拥有专有消息格式或传输协议(protocol),您也应该能够做到这一点。但这是很多工作。
如果您真的想尝试它,您可以从自定义消息编码器开始,它将获取消息并将其作为您的自定义 XML 格式写入二进制编码器。在自定义绑定(bind)中将这个新编码器与 tcpTransport 中的构建相结合。调试起来会很困难。 sample 提供example添加 JSONP 支持。我认为这是类似的方法。它使用内置传输和编码器,并添加自定义消息格式。
关于c# - WCF 服务可以替代 TCPListener 的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660338/