13

たとえば、テーブルに新しいデータがあるときに、.NET プロセスに通知されるように、イベントを Sql Server (特に Azure) にバインドする方法はありますか?

私が検討したもう 1 つのオプションは、Sql Serverlong pollingクエリです。つまり、クエリを実行しますが、何か返すものがあるか、タイムアウトに達するまで何も返されません。

私の問題をより明確にするために、Windows Azure のさまざまなインスタンスでさまざまなスレッドが通知を待っています。新しい通知があるとすぐに行動を起こさなければなりません。データベースやストレージに 2 秒ごとにクエリを実行させたくないのです。

4

2 に答える 2

8

Azure にはありません。ボックス製品には、Query Notificationsとその派生物 ( SqlNotificationRequestSqlDependencyおよびSqlCacheDependency) があります。詳細については、 The Mysterious Notificationを参照してください。LinqToCacheで LINQ ラッパーとして使用できます。

ただし、クエリ通知は Azure ではサポートされていません。Azure では、 Azure Queuesを使用して、アプリケーションがデータベースを更新するたびに通知する必要があります。

于 2012-09-10T14:28:30.700 に答える
4

SqlTableDependencyを使用できます

SqlTableDependency は、指定されたデータベース テーブルの内容が変更されたときに通知を受け取るために使用される汎用 C# コンポーネントです。

.NET SqlDepenency との違いは何ですか?

基本的に、主な違いは、SqlTableDependency が、挿入、変更、または削除されたレコードの値を含むイベントを送信することと、テーブルで実行された DML 操作 (挿入/削除/更新) を送信することです。データベーステーブル、彼らは何かが変わったとだけ言っています。

于 2016-09-13T06:21:14.037 に答える