Necesito implementar algún tipo de mecanismo de comunicación en mi aplicación, para enviar notificaciones/mensajes desde una instancia de aplicación a todas las demás. Este es un escenario normal en el que alguien agrega elementos o elimina elementos y desea notificar a otros usuarios que esto ha sucedido.Mensajería en la red local con .NET
La aplicación se ejecuta en el cliente y se conecta a una base de datos en la red local. Por lo tanto, no es como si todos los clientes tuvieran acceso a una instancia de servidor de la aplicación. Por lo que sé, podría usar MessageQueues o alguna forma de sondeo de base de datos, donde tengo una tabla que almacena todos los mensajes (no es ideal).
Problema es que necesito implementar esto muy rápidamente, por lo que lamentablemente no puede ser muy complejo, pero necesita la solución más rápida y sencilla.
gracias por la ayuda!
Sí, estaba pensando en la concurrencia optimista, pero esa no es una opción para mí, ya que tengo que notificar a los usuarios cuando se inserta un nuevo elemento (dentro de un par de segundos de que esto suceda). Agregar una capa de mensajería completa no es ideal, pero me permitiría usarlo extensamente en el sistema. El problema es que en mi aplicación de prueba recibo MSMQ: problemas de dominio ... así que creo que las encuestas serán a menos que haya otras opciones. – Richard
MSMQ es un perro. La forma "correcta" de hacer esto es probablemente algo así como un sistema de publicación/suscripción, que usted podría lanzar o encontrar algunas bibliotecas. Sé que SQL Server Service Broker tiene algunas características de notificación múltiple que pueden ajustarse a sus propósitos (es una cola de mensajes en SQL, diseñada para que los procesos almacenados notifiquen a otras entidades que algo ha cambiado). – Spence
Bueno, MSMQ y todas las demás opciones habrían tardado demasiado, por lo que ya se implementó usando encuestas. Acabo de crear una tabla, sondearla cada N segundos y luego, si hay un mensaje para este usuario, entonces léalo y trátelo, luego elimine este mensaje. Y donde sea necesario, solo crea un mensaje en la tabla para cada usuario. Cuando el usuario inicia sesión, asegúrese de borrar todos los mensajes para que no reciba 100 mensajes cuando inicie sesión. Todo es muy básico, pero funciona como lo necesito en nuestro pequeño sistema. Gracias. – Richard