para responder a sus preguntas:
¿Puedo escuchar SQL Server Service Broker colas de aplicaciones .NET que se ejecutan en una máquina diferente?
Sí.
Si es así, ¿debería hacerlo?
Si no, ¿qué recomendarías?
Considerar el uso de SqlDependency
. Utiliza Service Broker detrás de escena, pero no explícitamente.
Puede registrar un objeto SqlDependency
con una consulta SELECT
o un procedimiento almacenado. Si otro comando cambia los datos que se devolvieron de la consulta, se activará un evento. Puede registrar un controlador de eventos y ejecutar el código que desee en ese momento. O bien, puede usar SqlCacheDependency
, que simplemente eliminará el objeto asociado de la memoria caché cuando se desate el evento.
También puede usar Service Broker directamente. Sin embargo, en ese caso, deberá enviar y recibir sus propios mensajes, como con MSMQ.
En entornos de equilibrio de carga, SqlDependency
es bueno para los casos en que el código debe ejecutarse en cada servidor web (como el lavado de la memoria caché). Los mensajes de Service Broker son mejores para el código que solo deberían ejecutarse una vez, como enviar un correo electrónico.
En caso de que ayude, cubro ambos sistemas en detalle con ejemplos en mi libro (Ultra-Fast ASP.NET).
Claro, yo lo hago todo el tiempo. – RBarryYoung
¿Por qué no marca una respuesta si fue de ayuda, o pone una recompensa si quiere más respuestas? (desde que tiene casi 5 años, probablemente ya no tenga problemas ...) – Noctis