我有机会花费大量时间尝试在单声道中使用 WCF。在这一点上,它的实现太差,无法放入生产环境中,用于玩具应用程序之外的任何东西。它无法承受 24/7 的负载。
我目前在生产环境中运行 Mono 上的 WCF,但我需要摆脱它,至少在短期内,为我的软件带来稳定性。目前,我通过每隔几个小时重新启动进程来生存,但通常这还不够。
我正在寻找潜在的替代品。我所有的通信实体都是基于 .net 的,有些是 Linux 上的 Mono,其他的是 Windows Server 上的 ms.net。我很想用 protobuf-net 滚动我自己的 RPC 层作为序列化层,但我不想这样做。 protobuf-net 的一大优点是它具有良好的 C++ 支持,这是我所看重的。
有没有人在 Mono 上使用 RPC 实现稳定性?如果是这样,你做了什么?
更新:我没有提到我正在寻找有状态的双工消息传递。这是一个相当重要的信息。我没有坚持下去,但我非常想要它。 WCF 通过 net-tcp 双工 channel 提供此功能。
最佳答案
试试 ServiceStack用于 REST/WS
A modern, code-first, DTO-driven, WCF replacement web services framework encouraging best-practices for creating DRY, high-perfomance, scalable REST web services
如果您正在寻找基于双工和 tcp 的东西,您可以考虑 zeroMQ ,尽管它的问题集与 WCF 略有不同。
关于.net - Mono 中的 RPC 选项? (WCF 替代品),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479180/