2009-09-10 69 views
6

我有一個WCF服務,當數據庫發生更改時需要通知它的客戶端(sql server 2005)。這是相對容易完成的,只要我找到方法來通知我的服務的任何變化。我可以在表上創建一個數據庫觸發器,並觸發一個小型服務客戶端來通知我的服務,但我想知道是否有更好的方法來做到這一點?這將是一個可行的解決方案,讓服務輪詢數據庫的變化,但我不確定最好的方式來做到這一點(併發送通知到我的服務將是首選)。由於相關更新僅適用於數據庫的某個部分,因此我還想知道是否也可以將此類觸發器(或其他機制)鏈接到數據庫關係圖。當我的數據庫更新時通知我的WCF服務

所有幫助表示讚賞! rinze

回答

6

如果您的數據庫是SQL Server 2005及更高版本,則可以嘗試此解決方案:Remove pooling for data changes from a WCF front end

作爲一個方面說明,不要從觸發器中調用外部進程,也不要通過觸發器進行Web調用。是災難的保證配方。

更新

對於那些有興趣在混合查詢通知與LINQ to SQL中我建議Using SQLDependency objects with LINQ

+0

OK,這個博客做(幾乎)我在做什麼在這裏。因爲我使用LINQ to SQL,所以它不太直截了當,但不應該是個問題。你知道是否可能在數據庫圖表(或視圖,模擬它)上添加依賴關係嗎? Thanx的鏈接! – Syg 2009-09-11 08:00:52

+0

我沒有想過將LINQ和SqlDependency結合使用。我會看到如何實現並回傳。 – 2009-09-11 14:47:42

+0

查看我的更新,Ryan Dunn已經發布了有關SqlDependency和Linq2sql的博客。 – 2009-09-11 16:39:58

相關問題