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