2009-06-10 11 views

答えて

9

スタンドアロンアプリケーションがSharepointサイトからファーム外からデータを読み取る最も良い方法は、Sharepoint Web Servicesです。そのページには、利用可能なサービスとそれぞれのサービスの概要が高レベルにまとめられています。 Visual Studioでは、アプリケーション内の目的のサービスにWeb Referencesを作成して、これらに接続できます。

2

おそらく、Lists.asmxサービスを使いたいと思うでしょう。私の記憶から、あなたはhttp:///_vti_bin/Lists.asmxによって共有ポイントサービスを参照できるはずです。

デフォルトでは、MyServerというサーバーでHRというページにリストがある場合は、http://MyServer/HR/_vti_bin/Lists.asmxとなります。新しいサイトごとに、これらのWebサービスが自動的に作成されます。

SAMSブック「Microsoft Sharepoint 2007 Development」も参照できます。私はそれを以前のプロジェクトに使用して助けました。

2

おそらくLists.asmxが最適です。 ASP.NET WebサイトがSharePointと同じサーバー上に存在することが確実な場合は、SharePointオブジェクトモデルを使用できます。

SharePointリストはデータベーステーブルと同じではありません。外部キー制約、ユニークキーなどのようなものは、SharePointでは堅牢ではありません。

SharePointリストには多くの価値がありますが、これも上記のものに加えてパフォーマンスにもコストがあります。

0

誰がこれらのサービスが返す鈍いXMLについて言及しますか?

+0

はXMLで苦労したこと、この私はワイアットのコメントに完全に同意します。 MS Access 2007とは異なり、ドットネットアプリケーションでSharepointデータを使用する簡単な方法はありません。 – Nick

+0

冗長かもしれませんが、文書化されています。 –

1

私はRex Mに同意します。Linq to SharePointをバイパスして実行するためにあなた自身を助けることもできます.WSまたはオブジェクトモデルを介して接続できるため、WSSサーバーの内部または外部で使用できます。

2

質問は良いものです。しかし答えは時代遅れです。

あなたが求めているものを行うための新しい方法があります:RESTインターフェース

  • ADO.NETデータサービスは、RESTに対して使用することができますアウトオブボックス

    1. のSharePoint 2010は、ネイティブにCRUD操作をオーバーサポートLINQクエリが可能です。
    2. jQueryは、クライアント専用のASP.NETアプリケーションで作業(ala no serviceレイヤー)を実行する場合、サービスに対してCRUD操作を実行することもできます。
    3. Microsoft.SharePoint.Linq(およびSPMetalを使用してSPサイトのエンティティモデルを生成する)を使用すると、そのルートに移動することもできます。

    クライアントオブジェクトモデルもあります。

    結果セットはXML、JSONの形態であることができ、またはAtomFeed

    チェックアウトこれらのコードの詳細へのリンク:

    http://mydevexperience.wordpress.com/2011/06/25/how-to-query-sharepoint-data-source-using-ado-net-data-services/

    http://mydevexperience.wordpress.com/2011/05/11/sharepoint-list-access-part-iii-how-to-access-sharepoint-windows-communication-foundation-wcf-rest-representational-state-transfer-services-using-jquery-entirely-client-side-only/

  • 関連する問題