Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das JsonFeeds-Beispiel zeigt, wie Sie eine Instanz einer SyndicationFeed Klasse im JavaScript Object Notation (JSON)-Format mithilfe eines benutzerdefinierten SyndicationFeedFormatter und des DataContractJsonSerializerJSON-Formats serialisieren.
Architektur des Beispiels
Im Beispiel wird eine Klasse mit dem Namen JsonFeedFormatter
definiert, die von SyndicationFeedFormatter erbt. Die JsonFeedFormatter
Klasse verwendet DataContractJsonSerializer, um die Daten im JSON-Format zu lesen und zu schreiben. Intern verwendet der Formatierer einen benutzerdefinierten Satz von Datentypen namens JsonSyndicationFeed
und JsonSyndicationItem
, um das Format der vom Serialisierer erstellten JSON-Daten zu steuern. Diese Implementierungsdetails werden vom Endbenutzer ausgeblendet, sodass Aufrufe für die Standard SyndicationFeed - und SyndicationItem Klassen ausgeführt werden können.
Schreiben von JSON-Feeds
Ein JSON-Feed kann geschrieben werden mithilfe von JsonFeedFormatter
, wie in diesem Beispiel implementiert, und DataContractJsonSerializer, wie im folgenden Beispielcode gezeigt.
//Basic feed with sample data
SyndicationFeed feed = new SyndicationFeed("Custom JSON feed", "A Syndication extensibility sample", null);
feed.LastUpdatedTime = DateTime.Now;
feed.Items = from s in new string[] { "hello", "world" }
select new SyndicationItem()
{
Summary = SyndicationContent.CreatePlaintextContent(s)
};
//Write the feed out to a MemoryStream in JSON format
DataContractJsonSerializer writeSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
writeSerializer.WriteObject(stream, new JsonFeedFormatter(feed));
Lesen eines JSON-Feeds
Das Abrufen eines SyndicationFeed von einem Datenstrom mit JSON-formatierten Daten kann mit JsonFeedFormatter
erfolgen, wie im folgenden Code gezeigt.
//Read in the feed using the DataContractJsonSerializer
DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;
SyndicationFeed feedRead = formatter.Feed;
So können Sie das Beispiel einrichten, erstellen und ausführen
Stellen Sie sicher, dass Sie das One-Time Setup-Verfahren für die Windows Communication Foundation-Beispieleausgeführt haben.
Um die C#- oder Visual Basic .NET-Edition der Lösung zu erstellen, befolgen Sie die Anweisungen in Building the Windows Communication Foundation Samples.
Wenn Sie das Beispiel in einer Konfiguration mit einem Computer oder über Computer hinweg ausführen möchten, folgen Sie den Anweisungen unter Durchführen der Windows Communication Foundation-Beispiele.