Procedura: specificare un'associazione client nella configurazione

In questo esempio, viene creata un'applicazione console client per utilizzare un servizio calcolatrice e nella configurazione viene spiegata in modo dichiarativo l'associazione per quel client. Il client accede a CalculatorService che implementa l'interfaccia ICalculator e sia il servizio che il client utilizzano la classe BasicHttpBinding.

Nella procedura illustrata si presuppone che il servizio calcolatrice sia in esecuzione. Per informazioni su come generare il servizio, vedere Procedura: specificare un'associazione al servizio in configurazione. Utilizza inoltre ServiceModel Metadata Utility Tool (Svcutil.exe) fornito da Windows Communication Foundation (WCF) per generare automaticamente i componenti client. Lo strumento genera il codice e la configurazione client per l'accesso al servizio.

Il client è composto da due parti. Svcutil.exe genera ClientCalculator che implementa l'interfaccia ICalculator. Questa applicazione client viene quindi costruita creando un'istanza di ClientCalculator.

La procedura in genere consigliata consiste nello specificare le informazioni su associazione e indirizzo nella configurazione in modo dichiarativo anziché in modo imperativo nel codice. In genere definire endpoint nel codice non è pratico in quanto le associazioni e gli indirizzi di un servizio distribuito sono solitamente diversi da quelli utilizzati durante lo sviluppo del servizio. Più in generale, se le informazioni su associazione e indirizzo non vengono incluse nel codice, tali dati possono essere modificati senza dover compilare o distribuire nuovamente l'applicazione.

È possibile eseguire tutti i passaggi di configurazione seguenti utilizzando lo strumento Configuration Editor Tool (SvcConfigEditor.exe).

Per l'originale di questo esempio, vedere Basic Binding.

Specifica di un'associazione client nella configurazione

  1. Utilizzare Svcutil.exe dalla riga di comando per generare il codice da metadati del servizio.

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. Il client generato contiene l'interfaccia ICalculator che definisce il contratto di servizio che l'implementazione del client deve soddisfare.

  3. Contiene inoltre l'implementazione di ClientCalculator.

  4. Svcutil.exe genera inoltre la configurazione per il client che utilizza la classe BasicHttpBinding. Quando si utilizza Visual Studio denominare questo file App.config. Si noti che le informazioni sull'indirizzo e sull'associazione non sono specificate nell'implementazione del servizio. Non è necessario, inoltre, scrivere codice per recuperarle dal file di configurazione.

  5. Creare un'istanza di ClientCalculator in un'applicazione, quindi chiamare le operazioni del servizio.

  6. Compilare ed eseguire il client.

Vedere anche

Concetti

Utilizzo di associazioni per configurare servizi e client