Procedura: creare un feed RSS di base

Windows Communication Foundation (WCF) consente di creare un servizio che espone un feed di diffusione. In questo argomento viene illustrato come creare un servizio di diffusione che espone un feed di diffusione RSS.

Per creare un servizio di diffusione di base

  1. Definire un contratto di servizio utilizzando un'interfaccia contrassegnata con l'attributo WebGetAttribute. Ogni operazione esposta come feed di diffusione deve restituire un oggetto Rss20FeedFormatter.

    Nota

    Tutte le operazioni del servizio che applicano l'attributo WebGetAttribute vengono mappate alle richieste HTTP GET. Per eseguire il mapping dell'operazione a un metodo HTTP diverso, utilizzare invece WebInvokeAttribute. Per ulteriori informazioni, vedere Procedura: creare un servizio Web di base.

  2. Implementare il contratto di servizio.

  3. Creare un oggetto SyndicationFeed e aggiungere un autore, una categoria e una descrizione.

  4. Creare diversi oggetti SyndicationItem.

  5. Aggiungere SyndicationItem al feed.

  6. Restituire il feed.

Per ospitare un servizio

  1. Creare un oggetto WebServiceHost.

  2. Aprire l'host del servizio e attendere finché l'utente non preme INVIO.

Per chiamare GetBlog() con un HTTP GET

  1. Aprire Internet Explorer, digitare l'URL seguente e premere INVIO: https://localhost:8000/BlogService/GetBlog. L'URL contiene l'indirizzo di base del servizio (https://localhost:8000/BlogService), l'indirizzo relativo dell'endpoint e l'operazione del servizio da chiamare.

Per chiamare GetBlog() dal codice

  1. Creare un XmlReader con l'indirizzo di base e il metodo che si sta chiamando.

  2. Chiamare il metodo Load statico, passando il XmlReader appena creato.

    Verrà in tal modo richiamata l'operazione del servizio e verrà popolato un nuovo SyndicationFeed con il formattatore restituito dall'operazione del servizio.

  3. Accedere all'oggetto feed.

Esempio

Di seguito è riportato il codice completo per questo esempio.

Compilazione del codice

Durante la compilazione del codice precedente, fare riferimento a System.ServiceModel.dll e a System.ServiceModel.Web.dll.

Vedere anche

Riferimenti

WebHttpBinding
WebGetAttribute