Procedura: creare un feed Atom 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 Atom.
Per creare un servizio di diffusione di base
Definire un contratto di servizio utilizzando un'interfaccia contrassegnata con l'attributo WebGetAttribute. Ogni operazione esposta come feed di diffusione deve restituire un oggetto Atom10FeedFormatter.
Nota
Tutte le operazioni del servizio che applicano 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.
Implementare il contratto di servizio.
Creare un oggetto SyndicationFeed e aggiungere un autore, una categoria e una descrizione.
Creare diversi oggetti SyndicationItem.
Aggiungere gli oggetti SyndicationItem al feed.
Restituire il feed.
Per ospitare il servizio
Creare un oggetto WebServiceHost.
Aprire l'host del servizio, caricare il feed dal servizio, visualizzare il feed e aspettare che l'utente prema INVIO.
Per chiamare GetBlog() con un HTTP GET
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
Creare un XmlReader con l'indirizzo di base e il metodo che si sta chiamando.
Chiamare il metodo statico Load passando l'oggetto 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.
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.