クライアント アプリケーションでのデータ サービスの使用 (WCF Data Services)Using a Data Service in a Client Application (WCF Data Services)

公開するサービスにアクセスすることができます、Open Data Protocol (OData)Open Data Protocol (OData)フィードで Web ブラウザーに URI を指定します。You can access a service that exposes an Open Data Protocol (OData)Open Data Protocol (OData) feed by supplying a URI to a Web browser. URI はリソースのアドレスを提供し、要求メッセージがこれらのアドレスに送信されてリソースが表す基になるデータのアクセスまたは変更を行います。The URI provides the address of a resource, and request messages are sent to these addresses to access or change the underlying data that the resource represents. ブラウザーは HTTP GET コマンドを発行して、要求されたリソースを ODataOData フィードとして返します。The browser issues an HTTP GET command and returns the requested resource as an ODataOData feed. 詳細については、次を参照してください。 Web ブラウザーからサービスへのアクセスします。For more information, see Accessing the Service from a Web Browser.

Web ブラウザーは ODataOData サービスが予期されたデータを返すかどうかをテストするために便利ですが、データの作成、更新、および削除も行うことができる運用 ODataOData サービスは、一般的にアプリケーション コードや Web ページのスクリプト言語を使用してアクセスします。Although a Web browser may be useful for testing that an ODataOData service returns the expected data, production ODataOData services that enable you to also create, update, and delete data are generally accessed by application code or scripting languages in a Web page. このトピックにアクセスする方法の概要を示しますODataODataクライアント アプリケーションからのフィードします。This topic provides an overview of how to access ODataOData feeds from a client application.

REST セマンティクスを使用したデータのアクセスおよび変更Accessing and Changing Data Using REST Semantics

ODataOData 公開するサービス間の相互運用性を保証するのに役立ちますODataODataフィードと使用するアプリケーションODataODataフィードします。helps guarantee interoperability between services that expose ODataOData feeds and applications that consume ODataOData feeds. アプリケーション アクセスし、データの変更、 ODataOData-ベースのサービスを特定の HTTP アクションのおよび URI、アクションの対象となるエンティティ リソースのアドレスを要求メッセージを送信します。Applications access and change data in an ODataOData-based service by sending request messages of a specific HTTP action and with a URI that addresses an entity resource against which the action should be performed. エンティティ データを指定する必要がある場合、メッセージの本文に、エンコードされたペイロードとして明示的に指定します。When entity data must be supplied, it is supplied as a specifically encoded payload in the body of the message.

HTTP アクションHTTP Actions

ODataOData は、アドレス指定されたリソースが表すエンティティ データに対する操作の作成、読み取り、更新、および削除を実行する次の HTTP アクションをサポートします。supports the following HTTP actions to perform create, read, update, and delete operations on the entity data that the addressed resource represents:

  • HTTP GET -これは、ブラウザーからリソースにアクセスする場合の既定のアクション。HTTP GET - This is the default action when a resource is accessed from a browser. 要求メッセージではペイロードは指定されず、要求されたデータを含むペイロードを含む応答メソッドが返されます。No payload is supplied in the request message, and a response method with a payload that contains the requested data is returned.

  • HTTP POST -指定されたリソースに新しいエンティティ データを挿入します。HTTP POST - Inserts new entity data into the supplied resource. 挿入するデータは、要求メッセージのペイロードで指定されます。Data to be inserted is supplied in the payload of the request message. 応答メッセージのペイロードには、新しく作成されたエンティティのデータが含まれます。The payload of the response message contains the data for the newly created entity. これには自動生成されたキー値が含まれます。This includes any autogenerated key values. ヘッダーには、新しいエンティティ リソースのアドレスを指定する URI も含まれます。The header also contains the URI that addresses the new entity resource.

  • HTTP DELETE -指定されたリソースが表すエンティティ データを削除します。HTTP DELETE - Deletes the entity data that the specified resource represents. ペイロードは要求メッセージおよび応答メッセージ内に存在しません。A payload is not present in the request or response messages.

  • HTTP PUT - 既存のエンティティ データを要求されたリソースを要求メッセージのペイロードで指定されている新しいデータで置き換えます。HTTP PUT - Replaces existing entity data at the requested resource with new data that is supplied in the payload of the request message.

  • HTTP MERGE - をエンティティのデータを変更するだけのデータ ソースで挿入、削除を実行する非効率ODataOData新しい HTTP MERGE アクションが導入されています。HTTP MERGE - Because of inefficiencies in executing a delete followed by an insert in the data source just to change entity data, ODataOData introduces a new HTTP MERGE action. 要求メッセージのペイロードには、アドレス指定されたエンティティ リソースで変更する必要のあるプロパティが含まれます。The payload of the request message contains the properties that must be changed on the addressed entity resource. HTTP MERGE は HTTP 仕様で定義されていないので、ODataOData 対応のサーバー以外で HTTP MERGE 要求をルーティングするには追加の処理が必要になる場合があります。Because HTTP MERGE is not defined in the HTTP specification, it may require additional processing to route a HTTP MERGE request through non-ODataOData aware servers.

詳細については、次を参照してくださいOData:。操作します。For more information, see OData: Operations.

ペイロード形式Payload Formats

HTTP PUT、HTTP POST、または HTTP MERGE 要求の場合、要求メッセージのペイロードは、データ サービスに送信するエンティティ データを含んでいます。For an HTTP PUT, HTTP POST, or HTTP MERGE request, the payload of a request message contains the entity data that you send to the data service. ペイロードのコンテンツは、メッセージのデータ形式によって異なります。The contents of the payload depend on the data format of the message. そのようなペイロードは、DELETE 以外のすべてのアクションに対する HTTP 応答にも含まれます。The HTTP responses to all actions except DELETE also contain such a payload. ODataOData アクセスして、サービスでのデータを変更するのには、次のペイロード形式をサポートしています。supports the following payload formats for accessing and changing data with the service:

  • Atom -によって定義されている XML ベースのメッセージ エンコーディングODataODataAtom Publishing Protocol (AtomPub) の Web フィード、ポッド キャスト、wiki、HTTP 経由のデータ交換を有効にして XML ベースのインターネット機能の拡張機能として。Atom - An XML-based message encoding that is defined by ODataOData as an extension to the Atom Publishing Protocol (AtomPub) to enable data exchange over HTTP for Web feeds, podcasts, wikis, and XML-based Internet functionality. 詳細については、次を参照してくださいOData:。Atom 形式します。For more information, see OData: Atom Format.

  • JSON -JavaScript Object Notation (JSON) は、JavaScript プログラミング言語のサブセットに基づく軽量データ交換形式。JSON - JavaScript Object Notation (JSON) is a lightweight data interchange format that is based on a subset of the JavaScript Programming Language. 詳細については、次を参照してくださいOData:。JSON 形式します。For more information, see OData: JSON Format.

ペイロードのメッセージ形式は、HTTP 要求メッセージのヘッダーで要求されます。The message format of the payload is requested in the header of the HTTP request message. 詳細については、次を参照してくださいOData:。操作します。For more information, see OData: Operations.

クライアント ライブラリを使用したデータのアクセスおよび変更Accessing and Changing Data Using Client Libraries

WCF Data ServicesWCF Data Services 簡単に使用できるようにするクライアント ライブラリが含まれています、 ODataOData .NET Framework および Silverlight ベースのクライアント アプリケーションからフィードします。includes client libraries that enable you to more easily consume an ODataOData feed from .NET Framework and Silverlight-based client applications. これらのライブラリは、HTTP メッセージの送受信を簡略化します。These libraries simplify sending and receiving HTTP messages. また、メッセージ ペイロードをエンティティ データを表す CLR オブジェクトに変換します。They also translate the message payload into CLR objects that represent entity data. クライアント ライブラリには、 DataServiceContext および DataServiceQuery<TElement>という 2 つのコア クラスがあります。The client libraries feature the two core classes DataServiceContext and DataServiceQuery<TElement>. これらのクラスを使用すると、データ サービスをクエリして、返されるエンティティ データを CLR オブジェクトとして処理できます。These classes enable you to query a data service and then work with the returned entity data as CLR objects. 詳細については、次を参照してください。 WCF Data Services クライアント ライブラリWCF Data Services (Silverlight)します。For more information, see WCF Data Services Client Library and WCF Data Services (Silverlight).

使用することができます、サービス参照の追加データ サービスへの参照を追加する Visual Studio でダイアログ。You can use the Add Service Reference dialog in Visual Studio to add a reference to a data service. このツールは、参照されたデータ サービスからサービス メタデータを要求し、データ サービスを表す DataServiceContext を生成します。また、エンティティを表すクライアント データ サービス クラスも生成します。This tool requests the service metadata from a referenced data service and generates the DataServiceContext that represents a data service, as well as generates the client data service classes that represent entities. 詳細については、次を参照してください。データ サービス クライアント ライブラリの生成します。For more information, see Generating the Data Service Client Library.

プログラミング ライブラリを使用するように使用できますが、ODataODataその他のクライアント アプリケーションにフィードします。There are programming libraries available that you can use to consume an ODataOData feed in other kinds of client applications. 詳細については、次を参照してください。、 OData SDKします。For more information, see the OData SDK.

関連項目See also