Compartir a través de


Exposición de una fuente como Atom y RSS

Windows Communication Foundation (WCF) le permite crear un servicio que exponga una fuente de distribución. En este tema se describe la creación de un servicio de distribución que exponga una fuente de distribución mediante Atom 1.0 y RSS 2.0. Este servicio expone un extremo que puede devolver cualquiera de los dos formatos de distribución.

Creación de un servicio de distribución básico

  1. Defina un contrato de servicios utilizando una interfaz marcada con el atributo WebGetAttribute. Cada operación que se expone como una fuente de distribución devuelve un objeto SyndicationFeedFormatter. Tenga en cuenta los parámetros del WebGetAttribute. UriTemplate especifica la URL utilizada para invocar esta operación de servicio. La cadena de este parámetro contiene literales y una variable entre llaves ({format}). Esta variable corresponde al parámetro format de la operación del servicio. Para obtener más información, consulte UriTemplate. BodyStyle afecta a la forma en la que se escriben los mensajes que esta operación de servicio envía y recibe. Bare especifica que los datos enviados a y desde esta operación de servicio no están contenidos en elementos XML definidos por la infraestructura. Para obtener más información, consulte WebMessageBodyStyle.

    Nota

    Utilice el ServiceKnownTypeAttribute para especificar los tipos que devuelven las operaciones de servicio en esta interfaz.

  2. Implemente el contrato de servicios.

  3. Cree un objeto SyndicationFeed y agregue un autor, categoría y descripción.

  4. Cree varios objetos SyndicationItem.

  5. Agregue los objetos SyndicationItem a la fuente.

  6. Utilice el parámetro format para devolver el formato solicitado.

Hospedaje del servicio.

  1. Cree un objeto WebServiceHost.

  2. Abra el host del servicio, cargue la fuente desde el servicio, muestre la fuente y espere a que el usuario presione Entrar.

Llamar a GetBlog mediante HTTP GET

  1. Abra Internet Explorer, escriba la siguiente URL y presione Entrar. https://localhost:8000/BlogService/GetBlog

    La URL contiene la dirección base del servicio (https://localhost:8000/BlogService), la dirección relativa del extremo y la operación del servicio que se va a llamar.

Llamar a GetBlog() mediante código

  1. Cree un XmlReader con la dirección base y el método al que está llamando.

  2. Llame al método estático Load, pasando el XmlReader que acaba de crear.

    Esto invoca la operación de servicio y rellena una nueva SyndicationFeed con el formateador devuelto desde la operación del servicio.

  3. Obtenga acceso al objeto de fuente.

Ejemplo

A continuación, se muestra una lista de código completa para este ejemplo.

Compilar el código

Al compilar el código anterior, haga referencia a System.ServiceModel.dll y System.ServiceModel.Web.dll.

Consulte también

Referencia

WebHttpBinding
WebGetAttribute