2011-09-20 16 views
16

He tenido la oportunidad de pasar una gran cantidad de horas tratando de usar WCF en mono. Simplemente está implementado muy pobremente en este punto para ser puesto en un entorno de producción, para cualquier cosa más allá de las aplicaciones de juguetes. No sobrevive a una carga 24/7.Opciones para RPC en Mono? (Alternativas WCF)

Actualmente tengo WCF en Mono funcionando en un entorno de producción, pero necesito alejarme de él, al menos a corto plazo, para brindar estabilidad a mi software. Actualmente estoy sobreviviendo al reiniciar procesos cada pocas horas, y muchas veces eso no es suficiente.

Estoy buscando posibles alternativas. Todas mis entidades de comunicación están basadas en .net, algunas siendo Mono en Linux y otras siendo ms.net en Windows Server. Estoy muy tentado de rodar mi propia capa RPC con protobuf-net como la capa de serialización, pero preferiría no hacer esto. La gran ventaja con protobuf-net es que tiene una buena compatibilidad con C++, que es algo que valoro.

¿Alguien ha logrado estabilidad con RPC en Mono? Si asi es, ¿Qué hiciste?

Actualizado: No mencioné que estoy buscando mensajes dúplex con estado. Esta es una información bastante importante. No estoy atrapado con eso, pero lo quiero mucho. WCF proporciona esto con canales dúplex net-tcp.

+0

Esta es una excelente pregunta y realmente espero ver algunas respuestas dignas. Yo también me encuentro con los mismos problemas con mono. Hasta ahora, el mono no es algo en lo que pueda confiar en un entorno de producción cuando se trata de WCF. –

Respuesta

8

Trate ServiceStack REST/WS

Un moderno, DTO impulsada por el WCF servicios web reemplazo primer código, marco que favorezca las mejores prácticas para la creación de tintorería, alta del perfomance, servicios web REST escalable

Si usted está buscando algo dúplex y TCP basado, usted podría considerar zeroMQ, aunque es problema planteado es ligeramente diferente a la WCF.

+0

+1 Parece una excelente opción para los servicios web RESTful, y una alternativa a una función WCF. Encontraré un uso para esto en algunos lugares, pero (a menos que me falta algo) no se puede implementar un servicio dúplex con estado. He actualizado mi pregunta para resaltar este detalle. –

+0

@John Hargrove: También podría estar interesado en zeroMQ (actualizó mi respuesta) si está interesado en duplex tcp. – Brook

+0

high-perfo * mance ...: -/ – Danra

1

RestSharp se menciona a menudo en el canal IRC de Mono (por ejemplo, #mono en GimpNET) como alternativa y funciona con Mono, MonoTouch, Silverlight, Windows Phone 7 y, por supuesto, el FX regular también.

+0

Analizaré esta posibilidad. Mis sentimientos son los mismos que mencioné a Brook en su respuesta a: ServiceStack. Reemplaza un aspecto de WCF, pero hay una gran cantidad de WCF para reemplazar, y tengo lugares donde un servicio REST no lo va a cortar. –