【发布时间】:2011-05-10 06:18:11
【问题描述】:
我编写了一个简单的 RPC 类,可以让我在 .net 桌面应用程序和 .net 服务器应用程序之间序列化和发送二进制数据。简而言之,客户端可以发送:
Dim Message as new TCPMessage
Message.Handler = "NewUser"
Message.AddField("FirstName", "Paul")
Message.AddField("Photo", PhotoBytes)
Message.Send()
服务器会在另一端重建数据:
Public Sub NewUser (Message As TCPMessage)
Dim FirstName as string = Message.GetString("FirstName")
Dim Photo() as Bytes = Message.GetBytes("Photo")
...
End Sub
这一切都适用于我目前正在做的事情 - 它看起来非常轻量级和高性能。
我想知道的是,通过 .NET Remoting / WCF 执行此操作的优点/缺点是什么?我对这些技术知之甚少,但它们似乎更加灵活,而且它们的性能也可能较低,并且需要相当长的学习曲线。
根据性能、学习曲线的标准,并牢记没有其他人将维护代码,我应该继续使用我的 DIY 方案构建小型内部应用程序,还是尽快放弃它以进行远程处理/WCF?
编辑:性能是关键,客户端应用程序将定期接收约 200,000 行的数据集(是的,接收这么多数据是绝对必要的)。这一切都只在局域网上运行。
【问题讨论】:
-
我绝对没有数据可以支持这一点,但是 WCF 提供了很多深度,同时设法变得非常轻量级。如果存在显着的性能差异,我会感到惊讶。
-
谢谢,这实际上只是假设 WCF 会更慢。一旦我对 WCF 有了更多了解,我会做一些性能测试。
-
你最终使用了 WCF 吗?任何性能测试,谢谢
-
我最终还是使用了我自己的自定义协议,它很好地满足了这个应用程序的性能要求。不过,我没有与 WCF 相比的任何特定基准。
标签: .net wcf serialization .net-remoting