Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo JsonFeeds mostra como serializar uma instância de uma classe SyndicationFeed em formato JSON (JavaScript Object Notation) usando um SyndicationFeedFormatter personalizado e o DataContractJsonSerializer.
Arquitetura do exemplo
O exemplo implementa uma classe nomeada JsonFeedFormatter que herda de SyndicationFeedFormatter. A JsonFeedFormatter classe depende do DataContractJsonSerializer para ler e escrever os dados no formato JSON. Internamente, o formatador usa um conjunto personalizado de tipos de contrato de dados nomeados JsonSyndicationFeed e JsonSyndicationItem para controlar o formato dos dados JSON produzidos pelo serializador. Esses detalhes de implementação são ocultos do usuário final, permitindo que as chamadas sejam feitas contra as classes padrão SyndicationFeed e SyndicationItem.
Gravando feeds JSON
A gravação de um feed JSON pode ser realizada usando o JsonFeedFormatter (implementado neste exemplo) com o DataContractJsonSerializer, como mostrado no código de exemplo a seguir.
//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));
Lendo um feed JSON
A obtenção de um SyndicationFeed a partir de um fluxo de dados formatados em JSON pode ser realizada usando o JsonFeedFormatter, conforme mostrado no código a seguir.
//Read in the feed using the DataContractJsonSerializer
DataContractJsonSerializer readSerializer = new DataContractJsonSerializer(typeof(JsonFeedFormatter));
JsonFeedFormatter formatter = readSerializer.ReadObject(stream) as JsonFeedFormatter;
SyndicationFeed feedRead = formatter.Feed;
Para configurar, compilar e executar o exemplo
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.
Para executar o exemplo em uma configuração única ou entre máquinas, siga as instruções em Executando os exemplos do Windows Communication Foundation.