Aby odpowiedzieć na Twoje pytania:
Mogę słuchać SQL Server Obsługa kolejek Broker z aplikacji .NET działa na innym komputerze?
Tak.
Jeśli tak, czy powinienem to zrobić?
Jeśli nie, to co poleciłbyś?
Można rozważyć zastosowanie SqlDependency
. Używa Service Brokera za kulisami, ale nie jawnie.
Możesz zarejestrować obiekt SqlDependency
przy pomocy zapytania SELECT
lub procedury składowanej. Jeśli inne polecenie zmieni dane, które zostały zwrócone z zapytania, wydarzenie zostanie uruchomione. Możesz zarejestrować obsługę zdarzeń i uruchomić dowolny kod, który Ci się podoba w tym czasie. Lub możesz użyć SqlCacheDependency
, która po prostu usunie powiązany obiekt z pamięci podręcznej po uruchomieniu zdarzenia.
Możesz również użyć Service Broker bezpośrednio. Jednak w takim przypadku będziesz musiał wysyłać i odbierać własne wiadomości, tak jak w MSMQ.
W środowiskach z obciążeniem równoważnym, SqlDependency
sprawdza się w przypadkach, gdy kod musi być uruchamiany na każdym serwerze sieciowym (np. Podczas czyszczenia pamięci podręcznej). Wiadomości Service Broker są lepsze dla kodu niż powinny być uruchamiane tylko raz - na przykład wysyłanie wiadomości e-mail.
Jeśli to pomoże, szczegółowo omówię oba systemy z przykładami z mojej książki (Ultra-Fast ASP.NET).
Jasne, robię to cały czas. – RBarryYoung
Dlaczego nie zaznaczasz odpowiedzi, jeśli to pomogło, lub postawisz nagrodę, jeśli chcesz uzyskać więcej odpowiedzi? (ponieważ ma prawie 5 lat, prawdopodobnie nie musisz już z tym walczyć ...) – Noctis