2012-09-11 166 views
10

我有一個用c#編寫的非常簡單的.net 4桌面應用程序,它需要顯示一些插入到SQL Server(2005)上的表中的數據。數據本身非常簡單,只有大約10列的一行(主要是其他數據的計數)。將數據從Sql Server推送到桌面應用程序

我可以從應用程序每隔x個時間間隔輪詢一次sql服務器,但如果可能的話,我的首選是讓sql server將數據推送到此應用程序,因爲「新數據」的時間通常是不規則的。

總之,我想知道這是否可能。在發佈這個問題之前做一些研究,我發現了一些可能性。

1)SignalR:我發現this問題似乎很有希望,但這似乎是在Web應用程序而不是桌面環境中。在審查了signalR wiki之後,它似乎需要某種Web服務或其他我希望避免的http連接。

2)sql server更改跟蹤,從this問題。首先,我不在SQL 2008,所以我假設我必須安裝或配置它(這不是問題),但我也不確定這是否會提供我所需要的。

我還會提及這個客戶端應用程序可能存在於100多個不同的PC上,這些PC都需要通知數據更改。

那麼,這樣的事情可能嗎?如果問題有點含糊,我表示歉意 - 並感謝您的幫助!

+1

你看過嗎? http://msdn.microsoft.com/en-us/library/ms130764.aspx – Paparazzi

+0

@有趣的。我會給你一個快速的旋轉,並回到你:) – Mansfield

+0

這是3年前,但我想知道同樣的事情。 .NET 4或4.5.2的任何更新? –

回答

4

SQLDependency類應該迎合您所指的情景。 儘管我沒有任何使用此方面的個人經驗,但this article似乎與您的場景一致

+0

好吧,我明白了,它正在工作.. 。有點。我只是試圖在sql服務器上正確設置查詢通知,以便只有在表中的特定數據發生更改時纔會發送通知。 – Mansfield

+1

我的工作正常!我的問題是我需要在我的命令中指定兩個部分表名。謝謝你的幫助! – Mansfield

+0

我想知道如果這確實使用下面的一種繼續請求,或者如果它是從SQL服務器的真正的推 - 無論如何它似乎不支持,因爲.NET 2.0 –

相關問題