我有机会花费大量时间尝试在单声道中使用WCF。对于玩具应用之外的任何东西,此时实施起来实施得太差,无法投入生产环境。它无法在24/7负载下存活。
我目前在生产环境中运行Mono上的WCF,但我需要远离它,至少在近期内,为我的软件带来稳定性。目前,我通过每隔几个小时重新启动进程而幸存下来,而这往往是不够的。
我正在寻找潜在的替代方案。我的所有通信实体都是基于.net的,其中一些是Linux上的Mono,另一些是Windows Server上的ms.net。我非常想用protobuf-net作为序列化层来推送自己的RPC层,但我不想这样做。 protobuf-net的一大优点是它具有良好的C ++支持,这是我所重视的。
有没有人在Mono上使用RPC获得稳定性?如果是这样,你做了什么?
更新:我没有提到我正在寻找有状态的双工消息。这是一个非常重要的信息。我并没有坚持下去,但我非常想要它。 WCF为此提供了net-tcp双工通道。
答案 0 :(得分:8)
尝试ServiceStack用于REST / WS
现代的,代码优先,DTO驱动的WCF替代Web服务 框架鼓励创建DRY的最佳实践, 高性能,可扩展的REST Web服务
如果你正在寻找基于双工和tcp的东西,你可以考虑zeroMQ,虽然它的问题集与WCF略有不同。
答案 1 :(得分:1)
RestSharp经常在Mono的IRC频道中提到(例如GimpNET上的#mono),作为替代方案,可以与Mono,MonoTouch,Silverlight,Windows Phone 7,当然还有常规FX一起使用。
答案 2 :(得分:0)
答案 3 :(得分:0)
尝试NFX.Glue - 适用于Mono