次の方法で共有


SQL Server アイテムの WCF クライアントまたは WCF サービス コントラクトを生成する

アダプター サービス参照の追加 Visual Studio プラグインを使用して、SQL Server成果物に対する選択した操作を対象とする WCF クライアント クラスを生成できます。 ServiceModel メタデータ ユーティリティ ツール (svcutil.exe) を使用して WCF クライアント クラスを生成することもできます。ただし、アダプターの追加サービス参照プラグインは、標準の Microsoft Windows インターフェイスを介して ServiceModel メタデータ ユーティリティ ツールの機能を公開します。 また、svcutil.exe ツールでは使用できない参照および検索機能も提供され、SQL Server データベースに接続するときに選択したバインド プロパティに基づいて構成ファイルが生成されます。

アダプター サービス参照の追加プラグインを使用した WCF クライアント クラスの生成

アダプター サービス参照の追加プラグインを使用して WCF クライアント クラスを生成するには、次の手順を実行します。

  1. Visual Studio ソリューション エクスプローラーで、プロジェクトを右クリックし、[アダプター サービス参照の追加] をクリックします。

  2. [アダプター サービス参照の追加] ダイアログ ボックスが開いたら、「SQL アダプターを使用して Visual Studio でSQL Server操作のメタデータを取得する」の手順に従って、SQL Serverに接続し、操作を参照および検索します。 選択した操作の WCF クライアント クラスを作成するには、[コントラクトの種類の選択] ドロップダウン リストから [クライアント (送信操作)] が選択されていることを確認します。 (これが既定値です)。

  3. 対象とするすべての操作を選択したら、[ OK] を クリックして WCF クライアント クラスを生成します。

    アダプター サービス参照の追加プラグインは、プロジェクトに 2 つのファイルを追加します。

  • WCF クライアント コード ファイル。 このファイルには、選択した操作用に生成された WCF クライアント クラスとヘルパー コードが含まれています。 アダプター サービス参照の追加 Visual Studio プラグインを初めて実行すると、既定の名前 SQLAdapterBindingClient.cs でこのファイルが生成されます。 もう一度実行すると、生成される次のファイルは SQLAdapterBindingClient1.cs と呼ばれます。 生成する新しいファイルごとに、数値サフィックスが 1 ずつ増加します。 [アダプター サービス参照の追加] Visual Studio プラグインの [ファイル名プレフィックス] フィールドに別のプレフィックスを入力して、既定のプレフィックス SQLBinding を変更することもできます。その後、[OK] を選択してファイルを生成します。

  • をApp.configします。このファイルには、アダプター サービス参照プラグインの追加の接続を構成したときに行った選択に基づくバインディング構成とクライアント エンドポイント構成が含まれています。

    重要

    アダプター サービス参照の追加プラグインを使用しているときに、string 型のバインド プロパティの値を指定せず、既定値が null の場合、そのバインド プロパティは app.config ファイルでは使用できません。 必要に応じて、バインド プロパティとその値を app.config ファイルに手動で追加する必要があります。

アダプター サービス参照の追加プラグインを使用した WCF サービス コントラクトの生成

SQL Server データベースのポーリングやデータベースからの通知の受信などの受信操作の場合、SQL アダプターはクライアント アプリケーションで指定されたクエリを実行するか (ポーリングの場合)、クエリをSQL Serverに登録します (通知の場合)。 どちらのシナリオでも、アダプターは受信メッセージSQL Serverデータベースから使用側に送信します。 このような場合、使用するアプリケーションはサービスとして機能し、SQL アダプターはクライアントとして機能します。 そのため、アダプターから受信操作を受信できる WCF サービスを実装する必要があります。 これを行うには、アダプター サービス参照の追加プラグインを使用して、受信操作用にアダプターによって表示されるサービス コントラクトを表す .NET インターフェイスを生成します。 この .NET インターフェイスは、WCF サービス コントラクトとも呼ばれます。 次に、このインターフェイスを実装して、受信操作を受信するために使用できる WCF サービスを作成します。

アダプター サービス参照の追加プラグインを使用して WCF サービス コントラクトを生成するには、次の手順を実行します。

受信操作用の WCF サービス コントラクトを生成するには

  1. Visual Studio ソリューション エクスプローラーで、プロジェクトを右クリックし、[アダプター サービス参照の追加] をクリックします。

  2. [アダプター サービス参照の追加] ダイアログ ボックスが開いたら、「Connect to SQL Server in Visual Studio Using Add Adapter Service Reference Plug-in」の手順に従って、SQL Server データベースに接続します。

    重要

    TypedPolling 受信操作の WCF サービス コントラクトを生成する場合は、接続 URI と PollingStatement バインド プロパティの一部として InboundID を指定する必要があります。

  3. SQL Server データベースに接続したら、[コントラクトの種類の選択] ドロップダウン リストから [サービス (受信操作)]を選択します。

  4. [ カテゴリの選択 ] ボックスで、ルート ノード (/) をクリックし、[ 利用可能なカテゴリと操作 ] ボックスから受信操作を選択し、[ 追加] をクリックします。

  5. 受信操作の WCF サービス コントラクトを生成するには、[OK] をクリック します

    アダプター サービス参照の追加プラグインは、プロジェクトに次の 3 つのファイルを追加します。

  • SqlAdapterBindingInterface.cs。 このファイルには、受信操作用に生成された WCF サービス コントラクト (インターフェイス) とヘルパー コードが含まれています。

  • SqlAdapterBindingService.cs。 このファイルには、SqlAdapterBindingInterface.cs で定義されているインターフェイスを実装するクラスが含まれています。 受信操作によって返されるレコードを処理するビジネス ロジックを実装できます。

  • をapp.configします。このファイルには、アダプター サービス参照プラグインのバインドと接続を構成したときに行った選択に基づくバインディング構成、エンドポイント動作、およびサービス エンドポイント構成が含まれています。

    重要

    アダプター サービス参照の追加プラグインを使用しているときに、string 型のバインド プロパティの値を指定せず、既定値が null の場合、そのバインド プロパティは app.config ファイルでは使用できません。 必要に応じて、バインド プロパティとその値を app.config ファイルに手動で追加する必要があります。

svcutil.exe を使用した WCF クライアント クラスの生成

svcutil.exe を使用して、アプリケーションの WCF クライアント クラスを生成できます。 SQL アダプターで使用するには、svcutil.exe を構成する必要があります。

Svcutil.exe は、既定のファイル名 output.cs を持つ出力ファイルに WCF クライアント クラスを生成します。 このファイルは、Visual Studio プロジェクトに手動で含める必要があります。 svcutil.exe の詳細については、「 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)」を参照してください。

参照

WCF サービス モデルを使用して SQL アプリケーションを開発する