Bestimmen Sie, ob sqldependency.start (connectionString) im aktuellen Projekt aufgerufen wurde?

StackOverflow https://stackoverflow.com/questions/8971852

Frage

Unsere Anwendungen verwenden viele gemeinsam genutzte Komponenten.Einige von ihnen haben keine Caching, z. B. Windows-Dienste, die nicht verschobene E-Mails verarbeiten.Sie würden das Ergebnis niemals einstellen ...

Problem ist, da unsere freigegebene Datenebene geändert wurde, um SQLCacheDependency zu verwenden, unsere Dienste, die nicht starten, die SQLDEPENDENCE nicht auf Datenbankanrufe fehlschlagen, in denen die Datenebene ein SQLCacheEpendency-Objekt anfordert.

Was zur Frage führt - Gibt es einen Weg, um unsere Datenklassen zu testen, um zu sehen, ob der Broker-Dienst hört (dh hat sqldependency.start (connectionString) aufgerufen wurde)?

Das Sqldependency-Objekt selbst hat kein aktiviertes oder ähnliches Eigentum.Gibt es eine Möglichkeit, die anrufende App auf tell die Datenschicht zu zwingen, die SQLCaching für die Datenebene verwendet wird, um den Status zu bestimmen?

War es hilfreich?

Lösung

Ziemlich viel die Antwort ist nein.Wir haben beendet, dass ein Konfigurationsvariable hinzugefügt wird, das falls falsch oder nicht vorhanden ist, die Anforderung zur Verwendung von SQLCachePendenz, die übersprungen ist, zu verwenden.

Andere Tipps

Select * von sys.service_queutes, wo Name wie 'sqlqueryNotificeservice -%'

gibt ein 'sqlquerynotificeservice-[einige guid]' zurück

Und wenn Sie tief in den nicht öffentlichen Mitgliedern der SQDDEPENDENCE _Serveruserhash suchen, während Sie in der IDE debuggen, finden Sie eine Sammlung, die denselben Eintrag enthält.Wenn Microsoft so nett wäre, dass dies offenbar ist, dann ja.

In meinem Fall habe ich eine Klassenbibliothek, die von einigen Webanwendungen verwendet wird.Ich habe also keine app.config.Ich benutze auch die SQLCachePendenz in einem statischen Ereignis.Also verwende ich ein statisches Boolean, wie: generasacodicetagpre.

Bisher ist funktioniert, aber ich bin offen für Anregungen, wenn Sie Klassenbibliotheken verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top