Servizio HTTP di base
In questo esempio viene descritto come implementare un servizio basato su HTTP e su RPC, a cui in genere viene fatto riferimento con servizio "POX" (Plain Old XML), utilizzando il modello di programmazione REST di Windows Communication Foundation (WCF). L'esempio è costituito da due componenti: un servizio HTTP WCF indipendente (Service.cs) e un'applicazione console (Program.cs) che crea il servizio ed effettua chiamate ad esso dirette.
Dettagli dell'esempio
Il servizio WCF espone 2 operazioni, ovvero EchoWithGet
e EchoWithPost
, che restituisce la stringa passata come input.
L'operazione EchoWithGet
viene annotata con WebGetAttribute, che indica che l'operazione elabora richieste HTTP GET. Poiché WebGetAttribute non specifica in modo esplicito un UriTemplate, l'operazione prevede che la stringa di input venga passata mediante un parametro della stringa di query con nome s. Si noti che il formato dell'URI che il servizio prevede di ricevere può essere personalizzato mediante la proprietà UriTemplate.
L'operazione EchoWithPost
viene annotata con WebInvokeAttribute, che l'indica che non si tratta di un'operazione GET (con effetti collaterali). Poiché WebInvokeAttribute non specifica in modo esplicito un elemento Method, l'operazione elabora richieste HTTP POST con la stringa nel corpo della richiesta (ad esempio, in formato XML). Si noti che il metodo HTTP e il formato dell'URI per la richiesta possono essere personalizzati utilizzando rispettivamente le proprietà Method e UriTemplate.
Il file App.config configura il servizio WCF con un endpoint WebHttpEndpoint predefinito in cui la proprietà HelpEnabled è impostata su true. Di conseguenza, l'infrastruttura di WCF crea una pagina automatica della Guida basata su HTM all'indirizzo https://localhost:8000/Customers/help
, che fornisce informazioni su come creare richieste HTTP al servizio e su come utilizzare la risposta HTTP del servizio.
Program.cs illustra come una channel factory di WCF può essere utilizzata per effettuare chiamate al servizio ed elaborare le risposte. È importante sottolineare che quella descritta è solo una delle modalità per accedere a un servizio WCF. È inoltre possibile accedere al servizio utilizzando altre classi .NET Framework come HttpWebRequest e WebClient. Altri esempi in SDK (quali l'esempio Selezione automatica del formato e l'esempio Servizio risorse di base) mostrano come utilizzare tali 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 Http 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 il progetto dell'applicazione console senza eseguirne il debug. 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\BasicHttpService
|