Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Options for RPC in Mono? (WCF Alternatives)

I have had the opportunity to spend a great number of hours trying to use WCF in mono. It is simply too poorly implemented at this point to be put into a production environment, for anything beyond toy applications. It does not survive a 24/7 load.

I do currently have WCF on Mono running in a production environment, but I need to move away from it, at least in the near term, to bring stability to my software. Currently I'm surviving by restarting processes every few hours, and often times that is not enough.

I'm looking for potential alternatives. All of my communicating entities are .net based, with some being Mono on Linux and others being ms.net on Windows Server. I'm very tempted to roll my own RPC layer with protobuf-net as the serialization layer, but I'd prefer not to do this. The big plus with protobuf-net is that it has good C++ support, which is something that I value.

Has anyone out there achieved stability with RPC on Mono? If so, what did you do?

Updated: I did not mention that I'm looking for stateful duplex messaging. This is a considerably important piece of information. I'm not stuck with it, but I very much want it. WCF provides this with net-tcp duplex channels.

like image 968
John Hargrove Avatar asked Sep 20 '11 01:09

John Hargrove


2 Answers

Try ServiceStack for 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

If you're looking for something duplex and tcp based, you might consider zeroMQ, although it's problem set is slightly different than WCF.

like image 101
Brook Avatar answered Nov 02 '22 13:11

Brook


RestSharp is often mentioned in Mono's IRC channel (e.g. #mono on GimpNET) as an alternative and works with Mono, MonoTouch, Silverlight, Windows Phone 7 and, of course, the regular FX too.

like image 1
poupou Avatar answered Nov 02 '22 15:11

poupou