Freigeben über


SqlDependency Klasse

Definition

Das SqlDependency-Objekt stellt eine Abfragebenachrichtigungsabhängigkeit zwischen einer Anwendung und einer Instanz von SQL Server dar. Eine Anwendung kann ein SqlDependency-Objekt erstellen und registrieren, um Benachrichtigungen über den OnChangeEventHandler-Ereignishandler zu erhalten.

public ref class SqlDependency sealed
public sealed class SqlDependency
type SqlDependency = class
Public NotInheritable Class SqlDependency
Vererbung
SqlDependency

Hinweise

SqlDependency eignet sich ideal für Zwischenspeicherungsszenarien, in denen Ihre ASP.NET Anwendung oder des Diensts der mittleren Ebene bestimmte Informationen im Arbeitsspeicher zwischenspeichern muss. SqlDependency ermöglicht das Empfangen von Benachrichtigungen, wenn sich die ursprünglichen Daten in der Datenbank ändern, sodass der Cache aktualisiert werden kann.

Um eine Abhängigkeit einzurichten, müssen Sie einem oder mehreren SqlCommand Objekten ein SqlDependency Objekt zuordnen. Zum Empfangen von Benachrichtigungen müssen Sie das OnChange Ereignis abonnieren. Weitere Informationen zu den Anforderungen zum Erstellen von Abfragen für Benachrichtigungen finden Sie unter Arbeiten mit Abfragebenachrichtigungen.

Hinweis

SqlDependency wurde für die Verwendung in ASP.NET- oder Middle-Tier-Diensten entwickelt, bei denen eine relativ kleine Anzahl von Servern mit aktiven Abhängigkeiten für die Datenbank vorhanden ist. Es wurde nicht für die Verwendung in Clientanwendungen entwickelt, in denen Hunderte oder Tausende von Clientcomputern Objekte für einen einzelnen Datenbankserver eingerichtet hätten SqlDependency . Wenn Sie eine Anwendung entwickeln, in der Sie bei Datenänderungen zuverlässige Benachrichtigungen in nahezu Echtzeit (unter einer Sekunde) benötigen, lesen Sie die Abschnitte Planen einer effizienten Abfragebenachrichtigungs-Strategie und Alternativen zu Abfragebenachrichtigungen im Artikel Planen von Benachrichtigungen.

Weitere Informationen finden Sie unter Abfragebenachrichtigungen in SQL Server und Erstellen von Benachrichtigungslösungen.

Hinweis

Das OnChange Ereignis kann in einem anderen Thread als dem Thread generiert werden, der die Befehlsausführung initiiert hat.

Abfragebenachrichtigungen werden nur für SELECT-Anweisungen unterstützt, die eine Liste bestimmter Anforderungen erfüllen.

Konstruktoren

SqlDependency()

Erstellt eine neue Instanz der SqlDependency-Klasse mit den Standardeinstellungen.

SqlDependency(SqlCommand)

Erstellt eine neue Instanz der SqlDependency-Klasse und ordnet sie dem SqlCommand-Parameter zu.

SqlDependency(SqlCommand, String, Int32)

Erstellt eine neue Instanz der SqlDependency-Klasse, ordnet diese dem SqlCommand-Parameter zu, und gibt Benachrichtigungsoptionen und einen Timeoutwert an.

Eigenschaften

HasChanges

Ruft einen Wert ab, der angibt, ob sich eines der Resultsets geändert hat, die der Abhängigkeit zugeordnet sind.

Id

Ruft einen Wert ab, der diese Instanz der SqlDependency-Klasse eindeutig identifiziert.

Methoden

AddCommandDependency(SqlCommand)

Ordnet dieser SqlCommand-Instanz ein SqlDependency-Objekt zu.

Start(String)

Startet den Listener zum Empfangen von Abhängigkeitsänderungsbenachrichtigungen aus der Instanz von SQL Server, die von der Verbindungszeichenfolge angegeben wird.

Start(String, String)

Startet den Listener zum Empfangen von Abhängigkeitsänderungsbenachrichtigungen mithilfe der angegebenen SQL Server Service Broker-Warteschlange aus der Instanz von SQL Server, die von der Verbindungszeichenfolge angegeben ist.

Stop(String)

Beendet einen Listener für eine in einem vorherigen Start(String)-Aufruf angegebene Verbindung.

Stop(String, String)

Beendet einen Listener für eine in einem vorherigen Start(String, String)-Aufruf angegebene Verbindung.

Ereignisse

OnChange

Tritt ein, wenn eine Benachrichtigung für einen diesem SqlDependency-Objekt zugeordneten Befehl empfangen wird.

Gilt für: