Gewusst wie: Einen Feed sowohl als Atom als auch als RSS verfügbar machen

Windows Communication Foundation (WCF) ermöglicht Ihnen die Erstellung eines Diensts, der einen Syndication-Feed verfügbar macht. In diesem Thema wird erläutert, wie Sie einen Syndication-Dienst erstellen, der Syndication-Feeds sowohl mit Atom 1.0 als auch mit RSS 2.0 verfügbar macht. Dieser Dienst stellt einen Endpunkt zur Verfügung, der beide Syndication-Formate zurückgeben kann.

So erstellen Sie einen grundlegenden Syndication-Dienst

  1. Definieren Sie einen Dienstvertrag mit einer Schnittstelle, die mit dem WebGetAttribute-Attribut gekennzeichnet ist. Jeder Vorgang, der als Syndication-Feed verfügbar gemacht wird, gibt ein SyndicationFeedFormatter-Objekt zurück. Beachten Sie die Parameter für das WebGetAttribute. UriTemplate gibt die URL an, mit der dieser Dienstvorgang aufgerufen wird. Die Zeichenfolge für diesen Parameter enthält Literale und eine Variable in geschweiften Klammern ({Format}). Diese Variable entspricht dem format-Parameter des Dienstvorgangs. Weitere Informationen finden Sie unter UriTemplate. BodyStyle wirkt sich darauf aus, wie die Nachrichten, die dieser Dienstvorgang sendet und empfängt, geschrieben werden. Bare gibt an, dass die an diesen Dienstvorgang gesendeten und von ihm empfangenen Daten nicht von Infrastruktur-definierten XML-Elementen eingeschlossen werden. Weitere Informationen finden Sie unter WebMessageBodyStyle.

    Tipp

    Verwenden Sie das ServiceKnownTypeAttribute, um die Typen anzugeben, die von den Dienstvorgängen in dieser Schnittstelle zurückgegeben werden.

  2. Implementieren Sie den Dienstvertrag.

  3. Erstellen Sie ein SyndicationFeed-Objekt, und fügen Sie einen Autor, eine Kategorie und eine Beschreibung hinzu.

  4. Erstellen Sie mehrere SyndicationItem-Objekte.

  5. Fügen Sie die SyndicationItem-Objekte dem Feed hinzu.

  6. Verwenden Sie den format-Parameter, um das angeforderte Format zurückzugeben.

So hosten Sie den Dienst

  1. Erstellen Sie ein WebServiceHost-Objekt.

  2. Öffnen Sie den Diensthost, laden Sie den Feed vom Dienst, zeigen Sie den Feed an, und warten Sie darauf, dass der Benutzer die Eingabetaste drückt.

So rufen Sie GetBlog mit HTTP GET auf

  1. Öffnen Sie den Internet Explorer, geben Sie die folgende URL ein, und drücken Sie die EINGABETASTE. https://localhost:8000/BlogService/GetBlog

    Die URL enthält die Basisadresse des Diensts (https://localhost:8000/BlogService), die relative Adresse des Endpunkts und den aufzurufenden Dienstvorgang.

So rufen Sie GetBlog() aus dem Code auf

  1. Erstellen Sie einen XmlReader mit der Basisadresse und der Methode, die Sie aufrufen.

  2. Rufen Sie die statische Load-Methode auf, und übergeben Sie dabei den gerade erstellten XmlReader.

    Dies ruft einen Dienstvorgang auf und füllt einen neuen SyndicationFeed mit dem vom Dienstvorgang zurückgegebenen Formatierungsprogramm auf.

  3. Greifen Sie auf das Feedobjekt zu.

Beispiel

Unten ist die vollständige Codeauflistung für dieses Beispiel angegeben.

Kompilieren des Codes

Verweisen Sie beim Kompilieren des vorigen Codes auf System.ServiceModel.dll und System.ServiceModel.Web.dll.

Siehe auch

Referenz

WebHttpBinding
WebGetAttribute