Generazione degli esempi Windows Communication Foundation

Gli esempi di Windows Communication Foundation (WCF) possono essere generati utilizzando Visual Studio 2005 oppure utilizzando il comando msbuild dalla riga di comando. Entrambe le procedure sono descritte in questo argomento.

Nota

Prima di generare o eseguire qualsiasi esempio di WCF, verificare di aver eseguito Procedura di installazione singola per gli esempi di Windows Communication Foundation.

Per generare l'esempio utilizzando il prompt dei comandi

  1. Aprire il prompt dei comandi SDK, quindi spostarsi nella sottodirectory specifica del linguaggio del percorso della directory in cui si è installato l'esempio.

  2. Digitare msbuild dalla riga di comando. I file di programma client vengono compilati su client\bin e i file del programma del servizio vengono compilati su service\bin. Se il servizio viene ospitato su Internet Information Service (IIS), i file del programma del servizio vengono inoltre copiati nella directory servicemodelsamples e nella sottodirectory \bin.

Nota

È necessario impostare ACLs su %systemdrive%\inetpub\wwwroot per concedere autorizzazioni di modifica per l'account in esecuzione. In caso contrario vi saranno errori relativi a eventi post-generazione. In alternativa, è possibile lasciare le ACL come sono ed eseguire il prompt dei comandi SDK come amministratore.

Per generare l'esempio utilizzando Visual Studio

  1. Se si sta utilizzando Windows Vista o Windows Server 2008 e si esegue Visual Studio 2005, è necessario eseguire Visual Studio con autorizzazioni elevate. A tale scopo, fare clic con il pulsante destro del mouse sul menu Start e quindi scegliere Esegui come amministratore.

  2. Scegliere Apri dal menu File di Visual Studio e fare clic su Progetto/Soluzione. Passare alla sottodirectory specifica del linguaggio della directory in cui si è installato l'esempio e fare doppio clic sull'icona del file con estensione sln per aprire la soluzione in Visual Studio.

  3. Scegliere Rigenera soluzione dal menu Genera. I file di programma client vengono compilati su client\bin e i file del programma del servizio vengono compilati su service\bin. Se il servizio viene ospitato su IIS, i file del programma del servizio vengono inoltre copiati nella directory servicemodelsamples e nella sottodirectory \bin.

Nota

È necessario impostare ACLs su %systemdrive%\inetpub\wwwroot per concedere autorizzazioni di modifica per l'account in esecuzione. In caso contrario vi saranno errori relativi a eventi post-generazione. In alternativa, è possibile lasciare le ACL come sono ed eseguire il prompt dei comandi SDK o Visual Studio come amministratore. Anche alcune azioni di Visual Studio (ad esempio allegare un debugger al processo di lavoro ASP.NET) richiedono privilegi amministrativi.

Impostare file batch e script

Setup.exe, file batch Cleanup.exe e script devono essere eseguiti dal prompt dei comandi SDK. Diversi file di installazione e pulizia eseguono attività che richiedono privilegi amministrativi e devono essere avviate con privilegi di amministratore.

Importanti informazioni di protezione sugli endpoint dei metadati

Per impedire la rivelazione non intenzionale di metadati del servizio potenzialmente riservati la configurazione predefinita per i servizi Windows Communication Foundation (WCF) disattiva la pubblicazione dei metadati. Questo comportamento è protetto per impostazione predefinita, ma vuole anche dire che non è possibile utilizzare un strumento di importazione di metadati (ad esempio Svcutil.exe) per generare il codice client necessario per chiamare il servizio a meno che il comportamento del servizio di pubblicazione dei metadati non venga attivato in modo esplicito in fase di configurazione. Per rendere più semplice la sperimentazione con gli esempi, quasi tutti gli esempi espongono un endpoint di pubblicazione dei metadati non protetto. Tali endpoint sono potenzialmente disponibili per utenti anonimi non autenticati ed è necessario prestare attenzione prima di distribuirli verificando se la diffusione pubblica dei metadati di un servizio è appropriata.Per ulteriori informazioni sulla pubblicazione dei metadati del servizio, vedere l'esempio Comportamento di pubblicazione dei metadati. Vedere l'esempio Endpoint di metadati protetto personalizzato per un esempio di protezione di un endpoint di metadati.

Gestione delle eccezioni

In genere questi esempi non includono la gestione delle eccezioni per fare in modo che il codice sia focalizzato sull'argomento dell'esempio. Per ulteriori informazioni sulla gestione delle eccezioni, vedere l'esempio Eccezioni previste.

Rigenerazione client e configurazione con Svcutil

È possibile utilizzare ServiceModel Metadata Utility Tool (Svcutil.exe) per rigenerare codice client e configurare la maggior parte degli esempi. Alcuni esempi richiedono una configurazione manuale. Ad esempio, se si utilizza Svcutil.exe per rigenerare la configurazione per un esempio che utilizza credenziali del certificato client, si devono specificare manualmente le credenziali precedentemente configurate. Alcuni esempi utilizzano opzioni Svcutil.exe specifiche per influire sul codice generato, queste opzioni sono specificate in argomenti di esempio appositi.

Per rigenerare client e file di configurazione

  1. Aprire il prompt dei comandi SDK, quindi spostarsi nella sottodirectory specifica del linguaggio del percorso della directory in cui si è installato l'esempio.

  2. Se il servizio è di tipo ospitato sul Web, utilizzare il comando seguente.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Se il servizio è di tipo indipendente, digitare il comando seguente.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    Sostituire https://localhost:8000/ServiceModelSamples/service .svc/mex con l'indirizzo dell'endpoint mex del servizio indipendente.

    Per generare il client in un tipo Visual Basic, utilizzare il comando seguente.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    Se il servizio è di tipo indipendente, utilizzare il comando seguente.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    Nota

    Per ignorare la generazione della configurazione client, aggiungere l'opzione /noConfig.

Vedere anche

Concetti

Esecuzione degli esempi di Windows Communication Foundation

Altre risorse

ServiceModel Metadata Utility Tool (Svcutil.exe)

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.