SqlDependency クラス

定義

SqlDependency オブジェクトは、アプリケーションと SQL Server インスタンス間のクエリ通知の依存関係を表します。 アプリケーションは SqlDependency オブジェクトを作成し、OnChangeEventHandler イベント ハンドラーを使用して通知を受け取るように登録できます。

public ref class SqlDependency sealed
public sealed class SqlDependency
type SqlDependency = class
Public NotInheritable Class SqlDependency
継承
SqlDependency

注釈

SqlDependency は、ASP.NET アプリケーションまたは中間層サービスで特定の情報をメモリにキャッシュしておく必要があるキャッシュ シナリオに最適です。 SqlDependency では、キャッシュを更新できるように、データベース内の元のデータが変更されたときに通知を受け取ることができます。

依存関係を設定するには、オブジェクトを 1 つ以上SqlCommandSqlDependencyオブジェクトに関連付ける必要があります。 通知を受信するには、イベントをサブスクライブする OnChange 必要があります。 通知のクエリを作成するための要件の詳細については、「 クエリ通知の操作」を参照してください。

Note

SqlDependency は、データベースに対してアクティブな依存関係を持つサーバーの数が比較的少ない ASP.NET または中間層サービスで使用するように設計されています。 これは、数百または数千のクライアント コンピューター SqlDependency が 1 つのデータベース サーバーに対してオブジェクトを設定するクライアント アプリケーションで使用するように設計されていませんでした。 データ変更時に、信頼できる即時の通知が必要なアプリケーションを開発している場合は、「通知の計画」記事の「効率的なクエリ通知方法の計画」および「クエリ通知に代わる方法」を参照してください。

詳細については、「SQL Serverでのクエリ通知」および「通知ソリューションの構築」を参照してください。

Note

イベントは OnChange 、コマンド実行を開始したスレッドとは異なるスレッドで生成される場合があります。

クエリ通知は、特定の要件を満たす SELECT ステートメントでのみサポートされます。

コンストラクター

SqlDependency()

既定の設定を使用して、SqlDependency クラスの新しいインスタンスを作成します。

SqlDependency(SqlCommand)

SqlDependency クラスの新しいインスタンスを作成し、SqlCommand パラメーターに関連付けます。

SqlDependency(SqlCommand, String, Int32)

SqlDependency クラスの新しいインスタンスを作成し、SqlCommand パラメーターに関連付けます。通知オプションとタイムアウト値も指定します。

プロパティ

HasChanges

依存関係に関連付けられた、いずれかの結果セットが変更されたかどうかを示す値を取得します。

Id

SqlDependency クラスのこのインスタンスを一意に識別する値を取得します。

メソッド

AddCommandDependency(SqlCommand)

SqlCommand オブジェクトを、この SqlDependency インスタンスに関連付けます。

Start(String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを開始します。

Start(String, String)

接続文字列で指定される SQL Server のインスタンスから依存関係の変更通知を受け取るリスナーを、指定した SQL Server Service Broker キューを使用して開始します。

Stop(String)

以前の Start(String) 呼び出しで指定された接続のリスナーを停止します。

Stop(String, String)

以前の Start(String, String) 呼び出しで指定された接続のリスナーを停止します。

イベント

OnChange

この SqlDependency オブジェクトに関連付けられた、いずれかのコマンドに対する通知を受け取った場合に発生します。

適用対象