per rispondere alle vostre domande:
'possibile ascoltare SQL Server Service Broker code da applicazioni .NET in esecuzione su una macchina diversa?
Sì.
Se sì, dovrei farlo?
In caso contrario, cosa consiglieresti?
È possibile utilizzare SqlDependency
. Utilizza Service Broker dietro le quinte, ma non esplicitamente.
È possibile registrare un oggetto SqlDependency
con una query SELECT
o una stored procedure. Se un altro comando modifica i dati restituiti dalla query, verrà generato un evento. Puoi registrare un gestore di eventi ed eseguire il codice che ti piace in quel momento. In alternativa, è possibile utilizzare SqlCacheDependency
, che rimuoverà l'oggetto associato dalla cache solo quando l'evento viene attivato.
È inoltre possibile utilizzare direttamente Service Broker. Tuttavia, in tal caso sarà necessario inviare e ricevere i propri messaggi, come con MSMQ.
In ambienti con carico bilanciato, SqlDependency
è adatto per i casi in cui il codice deve essere eseguito su ogni server Web (ad esempio lo svuotamento della cache). I messaggi di Service Broker sono migliori per il codice di quelli che dovrebbero essere eseguiti una sola volta, ad esempio l'invio di un'email.
Nel caso sia utile, copro entrambi i sistemi in dettaglio con esempi nel mio libro (Ultra-Fast ASP.NET).
Certo, lo faccio tutto il tempo. – RBarryYoung
Perché non segna una risposta se è di aiuto, o metti una taglia se vuoi più risposte? (visto che ha quasi 5 anni, probabilmente non lo affannate più ...) – Noctis