Dot-Net
當 Sql Server 中的數據發生變化時,有沒有辦法在 .NET 中得到通知?像一個事件?
有沒有辦法將事件綁定到 Sql Server(特別是 Azure),以便當表中有新數據時,例如,我的 .NET 程序會收到通知?
我認為的另一個選項是 Sql Server
long polling查詢。也就是說,我執行了一個查詢,但它不會返回任何東西,直到有東西要返回或達到超時。為了更清楚地了解我的問題,我在不同的 Windows Azure 實例中有不同的執行緒等待通知。一旦有新的通知,他們必須立即採取行動。我不想讓他們每 2 秒查詢一次數據庫或儲存。
不在 Azure 中。在盒子產品中,您有Query Notifications及其衍生產品(
SqlNotificationRequest和SqlDependency)SqlCacheDependency,請參閱神秘通知了解詳細資訊。您可以將它用作帶有LinqToCache的 LINQ 包裝器。但 Azure 不支持查詢通知。在 Azure 上,您的應用程序應在更新數據庫時使用Azure Queues進行通知。
您可以使用SqlTableDependency
SqlTableDependency 是一個通用 C# 組件,用於在指定數據庫表的內容髮生更改時接收通知。
.NET SqlDepenency 有什麼區別?
基本上,主要區別在於 SqlTableDependency 發送包含插入、更改或刪除記錄的值的事件,以及在表上執行的 DML 操作(插入/刪除/更新):數據庫表,他們只說有些東西發生了變化。