RSS フィードと Atom フィードの作成

Sync Services for FeedSync を使用すると、レプリカのデータを対象のサブスクライバに RSS フィードまたは Atom フィードとしてパブリッシュできます。内部的には、フィードが同期プロバイダとして表されます。Sync Services が Sync Framework のコンポーネントを使用することによって、フィード プロバイダと、レプリカを表すプロバイダとの間でフィード項目を同期します。したがって、アプリケーション側では、ID と項目データを、フィード用の XML 形式に変換するメソッドを実装するだけで済みます。変更の検出、競合の検出、作成されたフィードへの変更の適用など、基本的な同期タスクは、Sync Framework によって処理されます。

フィードを作成するには、アプリケーションでフィード プロデューサ オブジェクトを作成し、次の項目を指定します。

  • 作成するレプリカを表す同期プロバイダ。

  • ID および項目のコンバータ オブジェクト。

  • 空の RSS フィードまたは空の Atom フィードを含んだストリーム。

次に、フィード プロデューサ オブジェクトの適切なメソッドを呼び出してフィードを作成します。フィードを作成する際、Sync Services for FeedSync は、フィードを同期プロバイダにラップし、ローカル プロバイダとフィード プロバイダをそれぞれ同期元プロバイダおよび同期先プロバイダとする同期セッションを開始します。処理中、Sync Services は、ID および項目のコンバータを呼び出して、ID および項目データを有効な XML 形式に変換した後、XML データをストリーム内の適切な位置に挿入します。処理が完了した時点で、ストリームのフィードには、レプリカからの項目と、それらに関する FeedSync メタデータが格納されます。このストリームが、適切なメカニズムを使ってフィード サブスクライバにパブリッシュされます。

ID および項目のコンバータ オブジェクトの詳細については、「RSS フィードと Atom フィード対応のための ID および項目の変換」を参照してください。

FeedSync フィードの詳細については、FeedSync の Web サイトを参照してください。

マネージ コードを使用したフィードの作成

フィードを作成するには、まず、FeedProducer を使用して FeedProducer オブジェクトを作成し、次のオブジェクトを渡します。

次に、ProduceFeed を呼び出し、空の RSS フィードまたは空の Atom フィードを含んだ Stream オブジェクトを渡します。処理が完了した時点で、この Stream オブジェクトには、レプリカからの項目を含んだ FeedSync フィードが格納されます。ストリームは読み取り/書き込みアクセスで開く必要がある点に注意してください。

フィードを部分的に作成するには、ProduceFeedEndpointState オブジェクトを渡します。これにより、増分フィードの基礎が確立され、そこには含まれないレプリカ項目だけを追加する準備が整います。

アンマネージ コードを使用したフィードの作成

フィードを作成するには、まず、CLSID_FeedSyncServices および IID_IFeedProducerConsumerServicesCoCreateInstance 関数に渡して、IFeedProducerConsumerServices オブジェクトを作成します。次に、IFeedProducerConsumerServices::CreateFeedProducer を使用して、IFeedProducer オブジェクトを作成します。

フィードを作成するには、IFeedProducer::ProduceFeed を呼び出し、次のオブジェクトを渡します。

  • アプリケーションに実装されている IFeedIdConverter オブジェクト。

  • アプリケーションに実装されている IFeedItemConverter オブジェクト。

  • 作成するレプリカを表す ISyncProvider オブジェクト。

  • 空の RSS フィードまたは空の Atom フィードを含んだ IStream オブジェクト。ストリームは読み取り/書き込みアクセスで開く必要がある点に注意してください。

処理が完了した時点で、この IStream オブジェクトには、レプリカからの項目を含んだ FeedSync フィードが格納されます。

フィードを部分的に作成するには、IFeedProducer::ProduceFeedIEndpointState オブジェクトを渡します。これにより、増分フィードの基礎が確立され、そこには含まれないレプリカ項目だけを追加する準備が整います。

参照

リファレンス

IFeedProducerConsumerServices インターフェイス
IFeedProducer インターフェイス
IEndpointState インターフェイス
Microsoft.Synchronization.FeedSync
FeedProducer
EndpointState

概念

Sync Services for FeedSync のコンポーネント

その他のリソース

RSS フィードと Atom フィードの同期