Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli esempi di Windows Communication Foundation (WCF) possono essere compilati usando l'IDE di Visual Studio o il comando msbuild dalla riga di comando. Entrambe le procedure sono descritte in questo articolo.
Annotazioni
Prima di compilare o eseguire uno degli esempi WCF, assicurarsi di aver eseguito la One-Time Procedura di installazione per gli esempi di Windows Communication Foundation.
Per compilare l'esempio usando una linea di comando
Aprire il Prompt dei comandi per sviluppatori di Visual Studio e navigare verso la sottodirectory specifica per lingua nella posizione della directory dove è stato installato l'esempio.
Digitare
msbuild
nella riga di comando. I file di programma client vengono compilati in client\bin e i file di programma del servizio vengono compilati in service\bin. Se il servizio è ospitato da Internet Information Services (IIS), i file di programma del servizio vengono copiati anche nella directory servicemodelsamples e nella relativa sottodirectory \bin .
Annotazioni
È necessario impostare gli ACL in %systemdrive%\inetpub\wwwroot per concedere le autorizzazioni di modifica all'account in cui è in esecuzione. In caso contrario, alcuni eventi di post-compilazione hanno esito negativo. In alternativa, è possibile lasciare gli elenchi di controllo di accesso così come sono ed eseguire il prompt dei comandi dell'SDK come amministratore.
Per compilare l'esempio con Visual Studio
Scegliere Apri> dal menu File in Visual Studio. Passare alla sottodirectory specifica del linguaggio nella directory in cui è stato installato l'esempio e fare doppio clic sull'icona del file .sln per aprire la soluzione in Visual Studio.
Scegliere Ricompila soluzione dal menu Compila.
I file di programma client vengono compilati in client\bin e i file di programma del servizio vengono compilati in service\bin. Se il servizio è ospitato in IIS, i file di programma del servizio vengono copiati anche nella directory servicemodelsamples e nella relativa sottodirectory \bin .
Annotazioni
È necessario impostare le ACL su %systemdrive%\inetpub\wwwroot per concedere le autorizzazioni di modifica all'account sotto il quale stai eseguendo il programma. In caso contrario, alcuni eventi di post-compilazione hanno esito negativo. In alternativa, è possibile lasciare gli elenchi di controllo di accesso così come sono ed eseguire il prompt dei comandi dell'SDK o Visual Studio come amministratore. Alcune azioni di Visual Studio, ad esempio il collegamento di un debugger al processo di lavoro ASP.NET, richiedono anche privilegi amministrativi.
Configurare file batch e script
Setup.exe e Cleanup.exe file e script batch devono essere eseguiti dal prompt dei comandi per gli sviluppatori per Visual Studio. Diversi file configurati e puliti eseguono attività che richiedono privilegi amministrativi e devono essere avviati con privilegi di amministratore.
Informazioni importanti sulla sicurezza sugli endpoint dei metadati
Per impedire la divulgazione involontaria dei metadati del servizio potenzialmente sensibili, la configurazione predefinita per i servizi Windows Communication Foundation (WCF) disabilita la pubblicazione dei metadati. Questo comportamento è sicuro per impostazione predefinita, ma significa anche che non è possibile usare uno strumento di importazione dei metadati (ad esempio Svcutil.exe) per generare il codice client necessario per chiamare il servizio, a meno che il comportamento di pubblicazione dei metadati del servizio non sia abilitato in modo esplicito nella configurazione. Per semplificare l'esperimento con gli esempi, quasi tutti gli esempi espongono un endpoint di pubblicazione dei metadati non protetto. Tali endpoint sono potenzialmente disponibili per i consumer anonimi non autenticati e occorre prestare attenzione prima di distribuire tali endpoint per garantire che i metadati di un servizio siano appropriati pubblicamente. Per altre informazioni sulla pubblicazione dei metadati del servizio, vedere l'esempio di comportamento di pubblicazione dei metadati . Vedere il campione Custom Secure Metadata Endpoint per un esempio di protezione di un endpoint di metadati.
Gestione delle eccezioni
In generale, questi esempi non includono la gestione delle eccezioni per mantenere il codice incentrato sull'oggetto dell'esempio. Per altre informazioni sulla gestione delle eccezioni, vedere l'esempio di eccezioni previste .
Rigenerazione di client e configurazione con Svcutil
È possibile usare lo strumento utilità metadati ServiceModel (Svcutil.exe) per rigenerare il codice client e la configurazione per la maggior parte degli esempi. Alcuni esempi richiedono una configurazione modificata manualmente. Ad esempio, se si usa Svcutil.exe per rigenerare la configurazione per un esempio che usa le credenziali del certificato client, è necessario specificare manualmente le credenziali configurate in precedenza. Alcuni esempi usano opzioni di Svcutil.exe specifiche per influire sul codice generato, queste opzioni vengono specificate negli argomenti di esempio specifici.
Per rigenerare i file client e di configurazione
Apri il prompt dei comandi SDK e naviga verso la sottodirectory specifica per lingua nel percorso della directory in cui hai installato l'esempio.
Se il servizio è un tipo ospitato sul Web, usare il comando seguente.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Se il servizio è un tipo self-hosted, digita il comando seguente.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Sostituire
http://localhost:8000/ServiceModelSamples/service.svc/mex
con l'indirizzo dell'endpoint mex del servizio ospitato internamente.Per generare il client in un tipo di Visual Basic, usare il comando seguente.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Se il servizio è un tipo self-hosted, usare il comando seguente.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Annotazioni
Per ignorare la generazione della configurazione client, aggiungere l'opzione /noConfig .