C# 中的对象序列化和网络
我正在开发一个简单的网络项目,并且想使用 TCPListener / Client 连接直接传输对象。我想避免 WCF 开销,只需要一种简单的方法来序列化对象,通过网络发送它,最后在另一端将其恢复到原始状态。
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在开发一个简单的网络项目,并且想使用 TCPListener / Client 连接直接传输对象。我想避免 WCF 开销,只需要一种简单的方法来序列化对象,通过网络发送它,最后在另一端将其恢复到原始状态。
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
现在有了 WCF,远程处理就不再受欢迎了。 WCF 针对性能进行了高度优化,在大多数情况下将胜过远程处理。请参阅 http://msdn.microsoft.com/en-us/library/bb310550。 .aspx.您没有提到您是否担心运行时开销或学习如何使用 WCF 的开销。话虽这么说,您可以通过使用二进制 TCP 传输而不是 HTTP 传输来减少运行时开销。当然,尽管 HTTP (SOAP) 现在非常流行,但它运行良好。您的服务可以支持多种传输(即 TCP 和 HTTP),以便与 .NET 客户端(TCP 传输)和其他符合标准的客户端(HTTP SOAP 传输)良好配合。
Remoting is out of favor now that there is WCF. WCF is highly optimized for performance and will win over remoting in most cases. See http://msdn.microsoft.com/en-us/library/bb310550.aspx. You don't mention whether you are worried about runtime overhead or the overhead of learning how to use WCF. That being said, you can reduce the runtime overhead by using the binary TCP transport instead of the HTTP one. It works well, though HTTP (SOAP) is, of course, highly popular now. Your service can support multiple transports (i.e., TCP and HTTP) to work well with .NET clients (TCP transport) and other standards-compliant clients (HTTP SOAP transport).
研究.NET Remoting;它让事情变得简单!
在此处的评论中显示示例是一个很大的主题 =)
请阅读此处:http://msdn.microsoft.com/en -us/library/kwdt6w2k(VS.71).aspx
Look into .NET Remoting; it makes things easy!
And it's a big topic to display a sample in a comment here =)
Read here: http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx
如果您只需要序列化/反序列化行为而不涉及 WCF 或远程处理,那么有很多方法:
所有方法都有优点和缺点,但我相信对于你的需求#1 就足够了。合理紧凑,无需外部库。
Well if you need ONLY serialization/deserialization behavior without involving WCF or Remoting, there is a plenty ways:
All approaches have strong and weak sides, but I believe that for your needs #1 will be enough. Reasonable compact and without external libraries need.