Gibt es eine Möglichkeit in .NET benachrichtigt zu werden, wenn sich Daten im Sql Server ändern? Wie ein Ereignis?

9

Gibt es eine Möglichkeit, ein Ereignis an Sql Server (speziell Azure) zu binden, so dass beispielsweise bei neuen Daten in einer Tabelle mein .NET-Prozess benachrichtigt wird?

Eine andere Option, über die ich gesprochen habe, wäre eine Sql Server long polling Abfrage. Das heißt, ich führe eine Abfrage aus, aber sie gibt nichts zurück, bis etwas zurückgegeben wird oder ein Timeout erreicht ist.

Um mehr Klarheit über mein Problem zu bekommen, habe ich verschiedene Threads in verschiedenen Instanzen von Windows Azure auf Benachrichtigungen warten. Sie müssen handeln, sobald eine neue Benachrichtigung erfolgt. Ich möchte nicht, dass sie alle 2 Sekunden die Datenbank oder den Speicher abfragen.

    
André Pena 10.09.2012, 13:57
quelle

2 Antworten

4

Nicht in Azure. In Box-Produkt haben Sie Query-Benachrichtigungen und seine Derivate ( SqlNotificationRequest , SqlDependency und SqlCacheDependency ), siehe Die mysteriöse Benachrichtigung für Details. Sie können es als LINQ-Wrapper mit LinqToCache verwenden.

Aber Abfragebenachrichtigungen werden in Azure nicht unterstützt. Auf Azure sollte Ihre Anwendung bei jeder Aktualisierung der Datenbank über Azure-Warteschlangen benachrichtigt werden.

    
Remus Rusanu 10.09.2012, 14:28
quelle
1

Sie können SqlTableDependency

verwenden

SqlTableDependency ist eine generische C # -Komponente, die zum Empfangen von Benachrichtigungen verwendet wird, wenn sich der Inhalt einer angegebenen Datenbanktabelle ändert.

Was ist der Unterschied zu .NET SqlDepencency?

Grundsätzlich besteht der Hauptunterschied darin, dass SqlTableDependency Ereignisse sendet, die Werte für den eingefügten, geänderten oder gelöschten Datensatz enthalten, sowie die in der Tabelle ausgeführte DML-Operation (insert / delete / update): SqlDepenecy sagt nicht, um welche Daten es sich handelt geändert an der Datenbanktabelle, sagen sie nur, dass sich etwas geändert hat.

    
Christian Del Bianco 13.09.2016 06:21
quelle

Tags und Links