方法 : Atom および RSS の両方としてフィードを公開する
Windows Communication Foundation (WCF) では、配信フィードを公開するサービスを作成できます。ここでは、Atom 1.0 と RSS 2.0 の両方を使用して配信フィードを公開する配信サービスを作成する方法について説明します。このサービスは、どちらかの配信フォーマットを返すエンドポイントを公開します。
基本的な配信サービスを作成するには
WebGetAttribute 属性でマークされたインターフェイスを使用して、サービス コントラクトを定義します。配信フィードとして公開される各操作は、SyndicationFeedFormatter オブジェクトを返します。WebGetAttribute のパラメータに注意してください。
UriTemplate
は、このサービス操作を呼び出すために使用される URL を表します。このパラメータに対する文字列には、({format}) のように、リテラルと変数を中かっこで囲んで指定します。この変数は、サービス操作の format パラメータに対応します。詳細な情報については、次のページを参照してください。 「UriTemplate」を参照してください。BodyStyle
は、このサービス操作が送受信するメッセージの書き方に影響を与えます。Bare は、このサービス操作に送受信されるデータが、インフラストラクチャにより定義された XML 要素でラップされないことを表します。詳細な情報については、次のページを参照してください。 「WebMessageBodyStyle」を参照してください。メモ : このインターフェイスのサービス操作により返される型を指定するには、ServiceKnownTypeAttribute を使用します。 サービス コントラクトを実装します。
SyndicationFeed オブジェクトを作成し、作成者、カテゴリ、および説明を追加します。
複数の SyndicationItem オブジェクトを作成します。
SyndicationItem オブジェクトをフィードに追加します。
format パラメータを使用して、要求された形式を返します。
サービスをホストするには
WebServiceHost オブジェクトを作成します。
サービス ホストを開き、サービスからフィードを読み込み、フィードを表示してから、ユーザーが Enter キーを押すのを待ちます。
HTTP GET を使用して GetBlog を呼び出すには
Internet Explorer を開いて、URL「https://localhost:8000/BlogService/GetBlog」を入力し、Enter キーを押します。
この URL には、サービスのベース アドレス (https://localhost:8000/BlogService)、エンドポイントの相対アドレス、および呼び出すサービス操作が含まれます。
コードから GetBlog() を呼び出すには
ベース アドレスと呼び出すメソッドを使用して XmlReader を作成します。
静的な Load メソッドを呼び出し、作成した XmlReader を渡します。
これにより、サービス操作が呼び出され、サービス操作から返されたフォーマッタが新しい SyndicationFeed に設定されます。
フィード オブジェクトにアクセスします。
例
この例の完全なコードの一覧を以下に示します。
コードのコンパイル
上記のコードのコンパイル時には、System.ServiceModel.dll と System.ServiceModel.Web.dll を参照します。