У меня была возможность провести много часов, пытаясь использовать WCF в моно. На данный момент он слишком плохо реализован, чтобы помещать его в производственную среду для чего-либо, кроме игрушечных приложений. Он не выдерживает 24/7 нагрузки.
В настоящее время у меня есть WCF на Mono, работающий в производственной среде, но мне нужно отойти от него, по крайней мере, в ближайшей перспективе, чтобы обеспечить стабильность моего программного обеспечения. В настоящее время я выживаю, перезапуская процессы каждые несколько часов, и часто этого недостаточно.
Я ищу потенциальные альтернативы. Все мои взаимодействующие сущности основаны на .net, некоторые из них - Mono в Linux, а другие - ms.net в Windows Server. Я очень склонен свернуть свой собственный слой RPC с protobuf-net в качестве уровня сериализации, но я бы предпочел не делать этого. Большой плюс с protobuf-net в том, что он имеет хорошую поддержку C ++, и это то, что я ценю.
Кто-нибудь добился стабильности с RPC на Mono? Если так, что ты сделал?
Обновлено: Я не упомянул, что я ищу дуплексные сообщения с отслеживанием состояния. Это значительно важная часть информации. Я не застрял с этим, но я очень хочу этого. WCF обеспечивает это дуплексными каналами net-tcp.