RSS フィードと Atom フィードの使用

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

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

  • 変換済みのフィード項目の適用先となるレプリカを表す同期プロバイダー。

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

  • 使用対象の RSS フィードまたは Atom フィードを含むストリーム。

次に、フィード コンシューマー オブジェクトの適切なメソッドを呼び出してフィードを使用します。フィードを使用する際、Sync Framework は、フィードを同期プロバイダーにラップし、フィード プロバイダーとローカル プロバイダーをそれぞれ同期元プロバイダーおよび同期先プロバイダーとする同期セッションを開始します。処理中、Sync Framework は、ID および項目のコンバーターを呼び出して、ID および項目データを対応するレプリカ用の形式に変換します。その後、項目変更がローカル プロバイダーによってレプリカに適用されます。処理が完了した時点で、レプリカには、FeedSync フィードからの使用済み項目が格納されます。

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

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

マネージ コードによるフィードの使用

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

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

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

  • 変換済みのフィード項目の適用先となるレプリカを表す KnowledgeSyncProvider オブジェクト。

次に、ConsumeFeed を呼び出し、使用対象となる RSS フィードまたは Atom フィードを含んだ Stream オブジェクトを渡します。処理が完了した時点で、レプリカには、このフィードからの使用済み項目が格納されます。

アンマネージ コードによるフィードの使用

フィードを使用するには、まず、CLSID_FeedSyncServices および IID_IFeedProducerConsumerServicesCoCreateInstance 関数に渡すことによって、IProducerConsumerServices のインスタンスを作成します。次に、IFeedProducerConsumerServices::CreateFeedConsumer を使用して、IFeedConsumer オブジェクトを作成します。

フィードを使用するには、IFeedConsumer::ConsumeFeed を呼び出し、次のオブジェクトを渡します。

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

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

  • 変換済みのフィード項目の適用先となるレプリカを表す ISyncProvider オブジェクト。

  • 使用対象の RSS フィードまたは Atom フィードを含む IStream オブジェクト。

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

参照

リファレンス

IFeedProducerConsumerServices インターフェイス
IFeedConsumer インターフェイス
Microsoft.Synchronization.FeedSync
FeedConsumer

概念

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