Modello di codice per accedere ai servizi Web in codice gestito
Aggiornamento: novembre 2007
Un client di servizi Web è un componente, un servizio o un'applicazione che utilizza un servizio Web e fa riferimento a esso. È utile notare che i client di servizi Web non devono essere necessariamente applicazioni basate su un client, quale un'applicazione desktop. In molti casi i client di servizi Web possono essere altre applicazioni Web o persino altri servizi Web.
Quando si accede ai servizi Web in codice gestito, tutta la codifica dell'infrastruttura viene gestita da una classe proxy e da .NET Framework. Per accedere a un servizio Web, effettuare le seguenti operazioni:
Individuare il servizio Web a cui si desidera accedere.
Creare una classe proxy per il servizio Web mediante l'aggiunta di un riferimento Web al progetto.
Riferimento alla classe proxy nel codice client, includendone lo spazio dei nomi.
Creare un'istanza della classe proxy del servizio Web nel codice client.
Accedere al servizio Web mediante i metodi del proxy.
Per ulteriori informazioni, vedere Procedura: accedere a un servizio Web in codice gestito oProcedura: accedere a un servizio Web in modo asincrono in codice gestito.
Individuazione di un servizio Web e aggiunta di un riferimento Web
Per semplificare il modello di codifica, le applicazioni scritte in codice gestito utilizzano un riferimento Web per rappresentare ciascun servizio Web a livello locale. Tale riferimento viene aggiunto al progetto utilizzando la finestra di dialogo Aggiungi riferimento Web, che supporta la ricerca di un servizio Web tramite indirizzi Web. Per ulteriori informazioni, vedere Individuazione di servizi Web e Riferimenti Web.
Riferimento alla classe proxy
Alla classe proxy generata è associato il rispettivo spazio dei nomi ed è necessario aggiungere quest'ultimo all'applicazione client prima di poter creare un'istanza di quella classe. Per ulteriori informazioni, vedere Direttiva using (C#) o Riferimenti e istruzione Imports (Visual Basic .NET).
Creazione di un'istanza della classe proxy
Prima di poter chiamare uno dei metodi della classe proxy, è necessario innanzitutto creare un'istanza della classe. Questo processo non differisce in alcun modo dalla creazione di un'istanza di qualsiasi altra classe. Per ulteriori informazioni, vedere new (C#) o Dichiarazione di variabili oggetto (Visual Basic .NET).
Accesso al servizio Web mediante il proxy
Per accedere a un metodo di servizio Web, l'applicazione client richiama il metodo sincrono corrispondente oppure i metodi asincroni dell'oggetto proxy. Tali metodi svolgono a loro volta le operazioni necessarie per rendere remota la chiamata in rete al metodo del servizio Web desiderato. Per impostazione predefinita, la classe proxy utilizza SOAP per accedere al metodo del servizio Web, in quanto SOAP supporta la serie più completa di tipi di dati dei tre protocolli supportati, HTTP-GET, HTTP-POST e HTTP-SOAP. Per ulteriori informazioni, vedere la classe Formati wire del servizio Web XML.
Riepilogo
L'accesso a un servizio Web in codice gestito diventa un processo relativamente semplice se si utilizza una classe proxy generata direttamente da Visual Studio dalla descrizione di un servizio Web. La classe proxy non agisce per trasformare la chiamata al metodo in un messaggio di richiesta e il messaggio di risposta nuovamente in un valore restituito del metodo.
Nella figura riportata di seguito viene illustrata la relazione di un'applicazione che chiama un servizio Web, che a sua volta chiama un altro servizio Web per ottenere informazioni sui prezzi. In questo esempio, il servizio Web Get Current Prices è al tempo stesso un provider e un consumatore di un servizio Web.
Client di servizi Web e servizi Web
Vedere anche
Concetti
Creazione di client dei servizi Web XML