Servizio risorse di base
Questo esempio illustra come implementare un servizio basato su HTTP utilizzando il modello di programmazione REST Windows Communication Foundation (WCF), che espone una raccolta di clienti che supporta operazioni di recupero, aggiunta, eliminazione e sostituzione. L'esempio è costituito da 2 componenti - un servizio HTTP WCF indipendente (Service.cs) e un'applicazione console (program.cs) che crea il servizio ed effettua chiamate verso il servizio.
Dettagli dell'esempio
Il servizio WCF presenta una raccolta di clienti in modo orientato alle risorse/REST. In breve, ciò significa disporre di URI univoci per la raccolta di clienti e per ogni cliente nella raccolta. Il servizio supporta l'invio di un HTTP GET all'URI della raccolta per recuperare l'intera raccolta e di HTTP POST all'URI della raccolta per aggiungere un nuovo cliente alla raccolta. Anche a livello di URI per singolo cliente, supporta GET HTTP per ottenere i dettagli del cliente, PUT HTTP per sostituire i dettagli del cliente e DELETE HTTP per rimuovere il cliente dalla raccolta. Quando un nuovo cliente viene aggiunto alla raccolta, il servizio gli assegna un URI univoco e lo archivia come parte dei dettagli del cliente. Inoltre, comunica l'URI al client utilizzando l'intestazione HTTP relativa al percorso della risposta.
Il file App.config configura il servizio WCF con un WebHttpEndpoint predefinito che dispone della proprietà HelpEnabled configurata su true. Di conseguenza, l'infrastruttura WCF crea una pagina automatica della Guida basata su HTML all'indirizzo https://localhost:8000/Customers/help
, che fornisce informazioni su come creare richieste HTTP per il servizio e su come accedere alla risposta HTTP del servizio, quale un esempio di come i dettagli del cliente vengono rappresentati in XML e JSON.
La presentazione della raccolta di clienti (e, in termini più generali, di qualsiasi risorsa) in questo modo consente al client di interagire con essa in modo uniforme utilizzando URI e HTTP GET, PUT, DELETE e POST. Il file Program.cs illustra come è possibile creare tale client utilizzando HttpWebRequest. È importante sottolineare che quella descritta è solo una delle modalità per accedere a un servizio REST WCF. È infatti possibile accedere al servizio utilizzando altre classi .NET Framework come la ChannelFactory e WebClient. Altri esempi in SDK (quali l'esempio Servizio HTTP di base e l'esempio Selezione automatica del formato) mostrano come utilizzare queste classi per comunicare con un servizio WCF.
L'esempio è costituito da un servizio indipendente e da un client, entrambi in esecuzione in un'applicazione console. Quando l'applicazione console è in esecuzione, il client invia richieste al servizio e scrive nella finestra della console le informazioni pertinenti incluse nelle risposte.
Per utilizzare questo esempio
Aprire la soluzione per l'esempio relativo al servizio risorse di base. Per garantire l'esecuzione corretta dell'esempio è necessario che l'avvio di Visual Studio 2010 venga eseguito come amministratore. Procedere facendo clic con il pulsante destro del mouse sull'icona Visual Studio 2010 e selezionando Esegui come amministratore nel menu di scelta rapida.
Premere F6 per compilare la soluzione, quindi premere Ctrl+F5 per eseguire l'applicazione console. Verrà visualizzata la finestra della console in cui saranno disponibili gli URI del servizio in esecuzione e della pagina della Guida HTML per il servizio in esecuzione. In qualsiasi momento è possibile visualizzare la pagina della Guida HTML digitando l'URI della pagina della Guida in un browser. Durante l'esecuzione dell'esempio, il client scrive lo stato dell'attività corrente.
Premere un tasto qualsiasi per chiudere l'esempio.
Nota: |
---|
È possibile che gli esempi siano già installati nel computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.
<UnitàInstallazione>:\WF_WCF_Samples
Se questa directory non esiste, andare alla pagina relativa agli esempi di Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti gli esempi di Windows Communication Foundation (WCF) e WF. Questo esempio si trova nella directory seguente.
<UnitàInstallazione>:\WF_WCF_Samples\WCF\Basic\Web\BasicResourceService
|