次の方法で共有


WCF Data Service

WCF Data Servicesを使用すると、アプリケーションで Open Data Protocol (OData) サービスを作成して使用できます。 OData は、URI でアドレス指定可能なリソースとしてデータを公開します。これにより、表現状態転送 (REST) のセマンティクス 、特に GET、PUT、POST、DELETE の標準 HTTP 動詞を使用してデータにアクセスおよび変更できます。 詳細については、「ASP.NET 動的データ コンテンツ マップ (https://go.microsoft.com/fwlink/?LinkId=199029)、WCF Data Services (https://go.microsoft.com/fwlink/?LinkId=199030)、および WCF REST スターター キットの開発者ガイド (https://go.microsoft.com/fwlink/?LinkId=199031)」を参照してください。

このトピックは、次のセクションで構成されています。

WCF データ サービスの追加

このチュートリアルは、動的データ Web の動的データ Web チュートリアルに基づいています。 Visual Studio テンプレートを使用して WCF Data Service を作成するには、次の手順に従います。

  1. ソリューション エクスプローラーから、プロジェクト名 DynamicData を右クリックします。 [新しい項目の追加] ダイアログ ボックスが表示されます。

  2. [ インストールされているテンプレート] の左側のウィンドウで、[ Visual C#] を選択します。

  3. 中央のウィンドウで、[ WCF Data Service] を選択します。

  4. [ 名前 ] ボックスに、データ サービスの名前を入力します。 たとえば、 WcfDataServiceDB2.svc という名前を入力し、[ 追加] をクリックします。

重要

リソースまたは関連付けにアクセスする前に、リソースへのアクセスを明示的に有効にする必要があります。 サービスに関連付けられているエンティティ データ モデル内のすべてのリソースへの読み取りおよび書き込みアクセスを有効にするには、InitializeService メソッドを見つけて、例に示されているものと一致していることを確認します。

WCF データ サービスの構成

  1. WcfDataServiceDB2.cs ファイルで、コード コメント/* TODO: put your data source class name here */を にSAMPLEModel.SAMPLEEntities置き換えます。

    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    

    次の手順では、Data Service によって公開されるエンティティへのアクセスを許可します。 既定では、すべてのエンティティ セットへのアクセスは許可されません。 エンティティ セットごとにアクセスを許可する必要があります。

  2. WcfDataServiceDB2.cs ファイルで、構成を含むコードのコメントを解除します。SetEntitySetAccessRuleMyEntitySet をアスタリスク (*) に置き換え、AllReadAll に置き換えます。

    using System;
    using System.Data.Services;
    using System.Data.Services.Common;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceModel.Web;
    
    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
            // Examples:
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }
    
    
  3. [ ファイル ] メニューの [ WcfDataServiceDB2.cs の保存] をクリックします。

  4. ソリューション エクスプローラーで、[WcfDataServiceDB2.svc] を右クリックし、[スタート ページとして設定] を選択します。

WCF Data Service で使用するインターネット エクスプローラーを構成する

WCF Data Service を RSS フィードとして表示するようにインターネット エクスプローラーを構成するには、次の手順に従います。

  1. [ ツール ] メニューの [インターネット オプション] をクリックし、[ コンテンツ] をクリックします。

  2. [インターネット オプション] ダイアログ ボックスの [コンテンツ] ウィンドウが表示されます。

  3. [フィードと Web スライス設定] をクリックします。 [フィード読み取りビューを有効にする] チェック ボックスをオフにして、[OK] をクリックします。

WCF データ サービスのテスト

作成した WCF Data Service をテストするには、次の手順に従います。

  1. [ デバッグ ] メニューの [ デバッグの開始] をクリックします。 デバッグを有効にするかどうかを確認するメッセージが表示されたら、[OK] をクリック します。 インターネット エクスプローラーには、WCF データ サービスが表示されます。

    OData は、URI でアドレス指定できるリソースとしてデータを公開します。 リソース パスは、Entity Data Model のエンティティとリレーションシップの規則に基づいて構築されます。 このモデルでは、エンティティは、アプリケーション ドメイン内のデータの運用単位 (DEPARTMENT や EMPLOYE など) を表します。

  2. [インターネット エクスプローラー] に、データ サービスを介して DB2 テーブルからすべてのレコードを返す URI を入力します。

    OData では、エンティティ型のインスタンスを含むエンティティ セットとしてエンティティ リソースのアドレスを指定します。 たとえば、URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders は、CustomerID 値が ALFKI の顧客に関連する Northwind データ サービスからのすべての注文を返します。

    http://localhost:36651/DynamicData/WcfDataServiceDB2.svc/DEPARTMENTs
    
  3. データベース レコードの表示が完了したら、ブラウザーを閉じます。

参照

動的データ WebEntity Framework