SqlDependency.Start Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Startet den Listener zum Empfangen von Abhängigkeitsänderungsbenachrichtigungen.
Überlädt
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. |
Hinweise
Der SqlDependency Listener wird neu gestartet, wenn ein Fehler in der SQL Server Verbindung auftritt.
Es können mehrere Aufrufe der Start -Methode durchgeführt werden, vorbehaltlich der folgenden Einschränkungen:
Mehrere Aufrufe mit identischen Parametern (die gleichen Verbindungszeichenfolge und Windows-Anmeldeinformationen im aufrufenden Thread) sind gültig.
Mehrere Aufrufe mit unterschiedlichen Verbindungszeichenfolgen sind gültig, solange:
Jeder Verbindungszeichenfolge gibt eine andere Datenbank an, oder
Jeder Verbindungszeichenfolge gibt einen anderen Benutzer an, oder
Die Aufrufe stammen aus verschiedenen Anwendungsdomänen.
Sie können für Anwendungen, die SqlDependency mehrere Threads verwenden, unterschiedliche Benutzeranmeldeinformationen darstellen, ordnungsgemäß funktionieren, ohne der Gruppe die Rolle dbo zuzuweisen, da verschiedene Benutzer eine von einem Administrator erstellte Benachrichtigungswarteschlange abonnieren und (mit SqlCacheDependency oder SqlCommand) abhören können. Wenn die relevante Anwendungsdomäne gestartet wird, rufen Sie Start mit den Anmeldeinformationen (Windows) eines Benutzers auf, der über die Berechtigung zum Initialisieren eines Diensts/einer Warteschlange verfügt (die Berechtigungen CREATE QUEUE und CREATE SERVICE für die Datenbank). Stellen Sie sicher, dass Start nur einmal pro AppDomain aufgerufen wird, andernfalls wird eine Mehrdeutigkeits-Ausnahme ausgelöst. Der Benutzerthread muss über die Berechtigung zum Abonnieren der Benachrichtigung verfügen (die SUBSCRIBE QUERY NOTIFICATIONS-Berechtigung für die Datenbank). SqlDependency ordnet die Abonnementanforderung eines Nicht-Administratorbenutzers dem vom Administrator erstellten Dienst bzw. der Warteschlange zu.
Start(String)
Startet den Listener zum Empfangen von Abhängigkeitsänderungsbenachrichtigungen aus der Instanz von SQL Server, die von der Verbindungszeichenfolge angegeben wird.
public:
static bool Start(System::String ^ connectionString);
public static bool Start (string connectionString);
static member Start : string -> bool
Public Shared Function Start (connectionString As String) As Boolean
Parameter
- connectionString
- String
Die Verbindungszeichenfolge für die Instanz von SQL Server, aus der Änderungsbenachrichtigungen abgerufen werden.
Gibt zurück
true
, wenn der Listener erfolgreich initialisiert wurde; false
, wenn bereits ein kompatibler Listener vorhanden ist.
Ausnahmen
Der connectionString
-Parameter ist NULL.
Der connectionString
-Parameter ist der gleiche wie in einem vorherigen Aufruf dieser Methode, die Parameter sind jedoch andere.
Die Methode wurde aus der CLR aufgerufen.
Der Aufrufer verfügt nicht über die erforderliche SqlClientPermission-Berechtigung für die Codezugriffssicherheit.
Es erfolgt ein erneuter Aufruf der Methode mit einem äquivalenten connectionString
-Parameter, entweder mit einem anderen Benutzer oder einem Benutzer mit einem anderen Schema.
Außerdem alle zugrunde liegenden SqlClient-Ausnahmen.
Hinweise
Mit dieser Methode wird der Listener für den AppDomain Empfang von Abhängigkeitsbenachrichtigungen vom instance der durch den connectionString
Parameter angegebenen SQL Server gestartet. Diese Methode kann mehrmals mit unterschiedlichen Verbindungszeichenfolgen für mehrere Server aufgerufen werden.
Weitere Hinweise finden Sie unter Start.
Weitere Informationen
Gilt für:
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.
public:
static bool Start(System::String ^ connectionString, System::String ^ queue);
public static bool Start (string connectionString, string queue);
static member Start : string * string -> bool
Public Shared Function Start (connectionString As String, queue As String) As Boolean
Parameter
- connectionString
- String
Die Verbindungszeichenfolge für die Instanz von SQL Server, aus der Änderungsbenachrichtigungen abgerufen werden.
- queue
- String
Eine vorhandene SQL Server Service Broker-Warteschlange, die verwendet werden soll. Wenn null
, wird standardmäßig die Warteschlange verwendet.
Gibt zurück
true
, wenn der Listener erfolgreich initialisiert wurde; false
, wenn bereits ein kompatibler Listener vorhanden ist.
Ausnahmen
Der connectionString
-Parameter ist NULL.
Der connectionString
-Parameter ist der gleiche wie in einem vorherigen Aufruf dieser Methode, die Parameter sind jedoch andere.
Die Methode wurde aus der CLR aufgerufen.
Der Aufrufer verfügt nicht über die erforderliche SqlClientPermission-Berechtigung für die Codezugriffssicherheit.
Es erfolgt ein erneuter Aufruf der Methode mit einem äquivalenten connectionString
-Parameter, entweder mit einem anderen Benutzer oder einem Benutzer mit einem anderen Schema.
Außerdem alle zugrunde liegenden SqlClient-Ausnahmen.
Hinweise
Mit dieser Methode wird der Listener für den AppDomain Empfang von Abhängigkeitsbenachrichtigungen vom instance der durch den connectionString
Parameter angegebenen SQL Server gestartet. Diese Methode kann mehrmals mit unterschiedlichen Verbindungszeichenfolgen für mehrere Server aufgerufen werden.
Wenn kein Warteschlangenname angegeben wird, SqlDependency wird eine temporäre Warteschlange und ein Dienst auf dem Server erstellt, der für den gesamten Prozess verwendet wird, auch wenn der Prozess mehrere AppDomainumfasst. Die Warteschlange und der Dienst werden beim Herunterfahren der Anwendung automatisch entfernt.
Weitere Hinweise finden Sie unter Start.