次の方法で共有


クライアント側コードからのクエリ

最終更新日: 2010年11月19日

適用対象: SharePoint Foundation 2010

このトピックでは、クライアント アプリケーションから Microsoft SharePoint Foundation ファームのデータに対してクエリを実行する方法について簡単に説明します。

クライアント コードからクエリを実行する

SharePoint Foundation Web アプリケーションからデータを取得する際にクライアント アプリケーションが使用できるインターフェイスは 4 つあります。そのうち 2 つのインターフェイスは下位互換性を保つために引き続きサポートされています。

クライアント オブジェクト モデルにおけるクエリ

クライアント オブジェクト モデル内では、以下に示す 2 つの方法でクエリを実行できます。

  • CamlQuery クラス (ECMAScript (JavaScript、JScript): CamlQuery) で使用する CAML クエリを記述する。

  • LINQ to Objects を使用して、IEnumerable<T> を実装する任意の SharePoint Foundation に対するクエリを実行する。

クライアント オブジェクト モデル コードは、優れたパフォーマンスを確保するために、まとめてフロントエンド Web サーバーに送信されます。リスト データだけでなく、任意の種類の SharePoint Foundation データを取得できます。詳細については、「マネージ クライアント オブジェクト モデル」を参照してください。

注意

Silverlight アプリケーションでは、Silverlight バージョンのクライアント オブジェクト モデルが使用されます。

ADO.NET Data Services Framework の使用

クライアント アプリケーションで新しい SharePoint Foundation クライアント オブジェクト モデルを使用せず、必要なのがリスト データのクエリのみである場合は、ADO.NET Data Services フレームワーク を使用してコンテンツ データベースのクエリを実行する方法もあります。このフレームワークを使用すると、ある意味で厳密に型指定されたリスト アイテムを操作できます。この意味に関する詳細については、「ADO.NET Data Services を使用して SharePoint Foundation のクエリを実行する」を参照してください。

SharePoint データ提供 Web サービスの使用の非推奨

長い間、SharePoint Foundation では、SharePoint Foundation 展開とクライアントとのやり取りを実現する手段として一連の Web サービスが提供されてきました。これらのサービスの中にはデータ取得用に特別に設計されているものがあります。また、データ取得サービスが含まれているものもあります。これらの Web サービスで最も重要なのが、[Lists Web service][Webs Web service]WebSvcsites[SiteData Web service]、および [DspSts Web service] です。これらのデータ提供 Web サービスの API は、下位互換性および Web サービス クライアントとの相互運用性を維持するために引き続きサポートされていますが、パフォーマンスと使いやすさを実現するために、クライアント オブジェクト モデルまたは ADO.NET Data Services Framework のどちらかを使用して、SharePoint データのクエリを実行することをお勧めします。

重要重要

これは、データ提供 Web サービスのみに関するアドバイスです。その他の種類の機能については、SharePoint Foundation の ASMX Web サービスの多くを引き続き使用できます。

owssvr.dll に対する直接呼び出しの非推奨

この SDK では、クライアント側から SharePoint Foundation 展開へのアクセスに RPC 呼び出しを使用する方法が現在も記載されていますが、この情報は、RPC 呼び出しを使用している既存のクライアント アプリケーションのトラブルシューティングを支援する目的で提供されているものです。今後の SharePoint Foundation との互換性を最大限に確保するために、新規に開発するクライアント アプリケーションでは、このクライアント アクセス方法を採用しないことをお勧めします。