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

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

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

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

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

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

次に、フィード プロデューサー オブジェクトの適切なメソッドを呼び出してフィードを作成します。フィードを作成する際、Sync Framework は、フィードを同期プロバイダーにラップし、ローカル プロバイダーとフィード プロバイダーをそれぞれ同期元プロバイダーおよび同期先プロバイダーとする同期セッションを開始します。処理中、Sync Framework は、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

概念

Web フィードの同期
Sync Framework の Web 同期コンポーネント