Procedura: esporre un feed come Atom e RSS

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 utilizzando Atom 1.0 e RSS 2.0. Questo servizio espone un endpoint in grado di restituire entrambi i formati di diffusione.

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 restituisce un oggetto SyndicationFeedFormatter. Si notino i parametri per WebGetAttribute. UriTemplate specifica l'URL utilizzato per richiamare questa operazione del servizio. La stringa di questo parametro contiene valori letterali e una variabile in parentesi graffe ({formato}). Questa variabile corrisponde al parametro format dell'operazione del servizio. Per ulteriori informazioni, vedere UriTemplate. BodyStyle incide sul modo in cui vengono scritti i messaggi inviati e ricevuti da questa operazione del servizio. Bare specifica che i dati inviati da e verso questa operazione del servizio non vengono incapsulati in elementi XML definiti dall'infrastruttura. Per ulteriori informazioni, vedere WebMessageBodyStyle.

    Nota

    Utilizzare ServiceKnownTypeAttribute per specificare i tipi restituiti dalle operazioni del servizio in questa interfaccia.

  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 gli oggetti SyndicationItem al feed.

  6. Utilizzare il parametro di formato per restituire il formato richiesto.

Per ospitare il servizio

  1. Creare un oggetto WebServiceHost.

  2. Aprire l'host del servizio, caricare il feed dal servizio, visualizzare il feed e aspettare che l'utente prema INVIO.

Per chiamare GetBlog con 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 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.

  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