2012-09-11 11 views
10

私は非常にシンプルな.net 4デスクトップアプリケーションをSQL Server(2005)のテーブルに挿入されたいくつかのデータを表示する必要があるC#で書かれています。データそのものは非常に単純で、約10列の行(たいていは他のデータの数)です。Sql Serverからデスクトップアプリケーションにデータをプッシュ

xインターバルごとにアプリケーションからSQL Serverをポーリングするだけで済みますが、「新しいデータ」のタイミングが不規則であるため、可能であればSQL Serverにこのアプリケーションにデータをプッシュさせることをお勧めします。

要するに、これが可能かどうかを知りたいと思います。この質問を投稿する前にいくつかの調査をして、私はいくつかの可能性を見つけました。

1)SignalR:私はthisという有望な質問を見つけましたが、これはデスクトップアプリケーションではなくWebアプリケーションのコンテキスト内にあるようです。 signalR wikiを見直すと、それは私が避けたいと思う何らかの種類のWebサービスやその他のhttp接続が必要なように思えました。

2)SQLサーバーの変更の追跡、this質問から。まず第一に、私はSQL 2008ではないので、私はそれをインストールしたり構成しなければならないと思っています(これは問題ではありません)が、これが私に必要なものを提供するかどうかもわかりません。

このクライアントアプリケーションは、100以上の異なるPCに存在する可能性があります。これらのPCは、すべてデータ変更時に通知する必要があります。

だから、そういうことが可能ですか?質問が少し不明な場合はお詫び申し上げます。事前にお手伝いいただきありがとうございます。

+1

あなたは見ましたか? http://msdn.microsoft.com/en-us/library/ms130764.aspx – Paparazzi

+0

@Blam興味深い。私はそれに素早い渦を吹き込み、あなたに戻ってくるでしょう:) – Mansfield

+0

これは3年前ですが、私は同じことを思っています。 .NET 4または4.5.2のアップデート –

答えて

4

SQLDependencyクラスは、あなたが参照している非常にシナリオに対応していると考えられます。 私はこれを使って個人的な経験はありませんが、this articleはシナリオに沿っているようです

+0

これで実現しました。 。やや。私は、テーブル内の特定のデータが変更されたときだけ通知が送信されるように、SQL Server上でクエリ通知を正しく設定しようとしています。 – Mansfield

+1

そして私はそれが働いている!私の問題は、私のコマンドに2つの部分テーブル名を指定する必要があることでした。ご協力いただきありがとうございます! – Mansfield

+0

これが一種の続行要求を下に使っているのか、それともSQL Serverからの真のプッシュなのかどうか疑問に思っています - とにかく.NET 2.0以来サポートされていないようです –

関連する問題