3

.NETクライアントアプリケーションからSQLServerテーブルに新しい行が表示されるのを待つにはどうすればよいですか?

背景:テーブルに基づいてメッセージキューを作成したいと思います。メッセージを構造化して強く型付けしたいので、ServiceBrokerを使用したくありません。通常のテーブルを使用すると、他のテーブルとも関係を持つことができます。

4

3 に答える 3

4

通常はポーリングを使用しますが、すぐにイベントが必要な場合SqlDependencyは、クエリの結果が変化したときにクラスを使用してイベントを取得できます。

于 2012-04-06T18:22:10.273 に答える
2

ポーリングするか、通知を受け取る必要があります。

ポーリングでは、クライアントが述語またはforのいずれかを使用してテーブルを定期的にクエリする必要がありますcount(*)。これはおそらく素晴らしい解決策ではありません。

テーブルにトリガーを設定し、クライアントのリスナーにメッセージを送信することは、安価ですが便利な通知システムである可能性があります。

于 2012-04-06T18:23:27.133 に答える
1

このアプリケーションでは、System.Threading.Timer を使用してデータベース テーブルをポーリングします。新しいメッセージが利用可能になると、それは処理されます。処理が成功した場合、メッセージは DB から削除されます。

于 2012-04-06T18:22:12.833 に答える