Creación de una fuente básica de Atom
Windows Communication Foundation (WCF) le permite crear un servicio que exponga una fuente de distribución. En este tema se discute cómo crear un servicio de distribución que exponga una fuente de distribución Atom.
Creación de un servicio de distribución básico
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 debería devolver un objeto Atom10FeedFormatter.
Nota
Todas las operaciones de servicio que apliquen el WebGetAttribute se asignan a solicitudes HTTP GET. Para asignar su operación a un método HTTP diferente, utilice en su lugar WebInvokeAttribute. Para obtener más información, consulte Cómo crear un servicio básico de estilo web.
Implemente el contrato de servicios.
Cree un objeto SyndicationFeed y agregue un autor, categoría y descripción.
Cree varios objetos SyndicationItem.
Agregue los objetos SyndicationItem a la fuente.
Devuelva la fuente.
Para hospedar el servicio.
Cree un objeto WebServiceHost.
Abra el host del servicio, cargue la fuente desde el servicio, muestre la fuente y espere a que el usuario presione Entrar.
Realización de llamadas a GetBlog() mediante HTTP GET
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
Cree un XmlReader con la dirección base y el método al que está llamando.
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.
Obtenga acceso al objeto de fuente.
Ejemplo
A continuación, se muestra una lista de código completa en este ejemplo.
Compilar el código
Al compilar el código anterior, haga referencia a System.ServiceModel.dll y System.ServiceModel.Web.dll.