Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este ejemplo muestra cómo serializar una instancia de una clase SyndicationFeed en el formato de la Notación de objeto JavaScript (JSON) utilizando un SyndicationFeedFormatter personalizado y DataContractJsonSerializer.
Arquitectura del ejemplo
El ejemplo implementa una clase denominada JsonFeedFormatter que se hereda desde SyndicationFeedFormatter. La clase JsonFeedFormatter confía en que DataContractJsonSerializer lea y escriba los datos en formato de JSON. Internamente, el formateador utiliza un conjunto personalizado de tipos de contrato de datos denominado JsonSyndicationFeed y JsonSyndicationItem para controlar el formato de los datos de JSON generado por el serializador. Estos detalles de implementación se ocultan del usuario final, permitiendo realizar las llamadas contra los SyndicationFeed estándar y las clases SyndicationItem.
Escribir las fuentes de JSON
Escribir una fuente de JSON se puede lograr utilizando JsonFeedFormatter (se implementa en este ejemplo) con DataContractJsonSerializer como se muestra en el código muestra siguiente.
//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));
Leer una fuente de JSON
Obtener una SyndicationFeed de una secuencia de datos dados formateados por JSON se puede lograr con JsonFeedFormatter como presentación en el código siguiente.
//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 y ejecutar el ejemplo
Asegúrese de realizar los Procedimiento de instalación única para los ejemplos de Windows Communication Foundation.
Para compilar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Compilación de los ejemplos de Windows Communication Foundation.
Para ejecutar el ejemplo en una configuración con un único equipo o con varios, siga las instrucciones de Running the Windows Communication Foundation Samples.
Nota: |
|---|
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.
<InstallDrive>:\WF_WCF_Samples
Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de WF y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.
<InstallDrive>:\WF_WCF_Samples\WCF\Extensibility\Syndication\JsonFeeds
|
Nota: