Procedura: creare un client di Windows Communication Foundation
Si tratta della quarta di sei attività necessarie per creare un servizio Windows Communication Foundation (WCF) di base e un client in grado di chiamare il servizio. Per una panoramica di tutte e sei le attività, vedere l'argomento Esercitazione introduttiva.
In questo argomento viene illustrato come recuperare metadati da un servizio WCF e utilizzarli per creare un proxy WCF in grado di accedere al servizio. Questa attività viene completata utilizzando lo strumento ServiceModel Metadata Utility Tool (Svcutil.exe) fornito da WCF. Questo strumento ottiene i metadati dal servizio e genera un file di codice sorgente gestito per un proxy nel linguaggio scelto. Oltre a creare il proxy client, lo strumento crea anche il file di configurazione per il client che consente all'applicazione client di connettersi al servizio su uno dei relativi endpoint.
L'applicazione client utilizza il proxy generato per creare un oggetto client WCF. Questa procedura viene descritta in Procedura: utilizzare un client di Windows Communication Foundation.
Il codice per il client generato da questa attività viene fornito nell'esempio riportato dopo la procedura.
Per creare un client Windows Communication Foundation
Creare un nuovo progetto nella soluzione corrente per il client in effettuando la procedura seguente:
- In Esplora soluzioni, nell'angolo superiore destro all'interno della stessa soluzione che contiene il servizio, fare clic con il pulsante destro del mouse sulla soluzione corrente (non sul progetto), quindi selezionare Aggiungi e Nuovo progetto.
- Nella finestra di dialogo Aggiungi nuovo progetto selezionare Visual Basic o Visual C#, quindi scegliere il modello Applicazione console e assegnargli il nome Client. Utilizzare il Percorso predefinito.
- Scegliere OK.
Aggiungere un riferimento a System.ServiceModel.dll per il progetto:
- Fare clic con il pulsante destro del mouse sulla cartella Riferimenti del progetto Client in Esplora soluzioni e scegliere Aggiungi riferimento.
- Selezionare la scheda Recente e selezionare System.ServiceModel.dll dalla casella di riepilogo, quindi fare clic su OK. Poiché è già stato aggiunto un riferimento a questo assembly nel primo passaggio di questa esercitazione, è ora elencato nella scheda Recente. Se non viene visualizzato nella scheda Recente, selezionare la scheda Sfoglia e passare a C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation per selezionare l'assembly da questa posizione.
Nota
Quando si utilizza un compilatore da riga di comando (ad esempio, Csc.exe o Vbc.exe), è necessario specificare anche il percorso agli assembly. Per impostazione predefinita, in un computer che esegue ad esempio Windows Vista, il percorso è Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.
Aggiungere un'istruzione using (Imports in Visual Basic) per lo spazio dei nomi System.ServiceModel nel file Program.cs o Program.vb generato.
Imports System.ServiceModel;
using System.ServiceModel;
Avviare il servizio creato nei passaggi precedenti. Per ulteriori informazioni, vedere Procedura: ospitare ed eseguire un servizio Windows Communication Foundation di base.
Eseguire lo strumento Service Model Metadata Utility Tool (SvcUtil.exe) con le opzioni appropriate per creare il codice client e un file di configurazione eseguendo la procedura seguente:
Avviare una sessione di console di Windows SDK selezionando CMD Shell sotto la voce Microsoft Windows SDK nel menu Start.
Passare alla directory in cui si desidera posizionare il codice client. Se il progetto client è stato creato utilizzando le impostazioni predefinite, la directory è C:\Users\<nome utente>\Documenti\Visual Studio 2005\Projects\Service\Client.
Utilizzare lo strumento da riga di comando Service Model Metadata Utility Tool (SvcUtil.exe) con le opzioni appropriate per creare il codice client. Nell'esempio seguente viene illustrato un file di codice e un file di configurazione per il servizio.
[Visual Basic]svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config https://localhost:8000/ServiceModelSamples/service
[C#]
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config https://localhost:8000/ServiceModelSamples/service
Per impostazione predefinita, il codice del proxy client viene generato in un file denominato dopo il servizio (in questo caso, ad esempio, CalculatorService.cs o CalculatorService.vb dove l'estensione è appropriata al linguaggio di programmazione: .vb per Visual Basic o .cs per C#). L'opzione /out consente di modificare il nome del file proxy client in generatedProxy.cs. L'opzione /config consente di modificare il nome del file di configurazione client da output.config (predefinito) ad app.config. Si noti che entrambi questi file vengono generati nella directory C:\Users\<nome utente>\Documenti\Visual Studio 2005\Projects\Service\Client.
Aggiungere il proxy generato al progetto client in Visual Studio, fare clic con il pulsante destro del mouse sul progetto client in Esplora soluzioni, quindi selezionare Aggiungi ed Elemento esistente. Selezionare il file generatedProxy.cs generato nel passaggio precedente.
Esempio
In questo esempio viene illustrato il codice client generato dallo strumento Service Model Metadata Utility Tool (Svcutil.exe).
È stato creato un client Windows Communication Foundation (WCF). Passare all'argomento Procedura: configurare un client Windows Communication Foundation di base per configurare il client. Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi all'esercitazione introduttiva.
Vedere anche
Attività
Procedura: pubblicare metadati per un servizio utilizzando un file di configurazione
Procedura: utilizzare Svcutil.exe per scaricare documenti di metadati
Altre risorse
Service Model Metadata Utility Tool (Svcutil.exe)
Getting Started Sample
Self-Host