Erstellen der Windows Communication Foundation-BeispieleBuilding the Windows Communication Foundation Samples

Der Windows Communication Foundation (WCF)-Beispiele erstellt werden können, mithilfe von Visual Studio 2010 oder mit der Msbuild Befehl über die Befehlszeile.The Windows Communication Foundation (WCF) samples can be built using Visual Studio 2010 or using the msbuild command from the command line. In diesem Thema werden beide Vorgehensweisen beschrieben.Both procedures are described in this topic.

Hinweis

Stellen Sie sicher Sie ausgeführt haben, erstellen oder einen WCF-Beispiele ausführen können, die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Before building or running any of the WCF samples, ensure you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

So erstellen Sie das Beispiel mithilfe einer EingabeaufforderungTo build the sample using a command prompt

  1. Öffnen Sie die Visual Studio 2012Visual Studio 2012-Eingabeaufforderung mit Administratorrechten, und navigieren Sie zum sprachspezifischen Unterverzeichnis unterhalb des Verzeichnisses, in dem Sie das Beispiel installiert haben.Open the Visual Studio 2012Visual Studio 2012 command prompt with administrator privileges and navigate to the language-specific subdirectory under the directory location where you installed the sample.

  2. Typ msbuild in der Befehlszeile.Type msbuild at the command line. Die Clientprogrammdateien werden im Verzeichnis client\bin erstellt, und die Dienstprogrammdateien werden im Verzeichnis service\bin erstellt.The client program files are built to client\bin and the service program files are built to service\bin. Wenn der Dienst von Internetinformationsdienste (IIS) gehostet wird, werden die Dienstprogrammdateien auch in das Verzeichnis servicemodelsamples und dessen Unterverzeichnis \bin kopiert.If the service is hosted by Internet Information Services (IIS), the service program files are also copied to the servicemodelsamples directory and its \bin subdirectory.

Hinweis

Sie müssen die Zugriffssteuerungslisten (Access Control List, ACL) für %systemdrive%\inetpub\wwwroot festlegen, um dem Konto, unter dem das Programm ausgeführt wird, Berechtigungen zum Ändern zu erteilen.You must set the ACLs on %systemdrive%\inetpub\wwwroot to grant modify permissions to the account under which you are running. Andernfalls führen einige Postbuildereignisse zu Fehlern.Otherwise some post build events fail. Sie können aber auch die ACLs unverändert lassen und die SDK-Eingabeaufforderung als Administrator ausführen.Alternatively, you can leave the ACLs as they are and run the SDK command prompt as administrator.

So erstellen Sie das Beispiel mithilfe von Visual StudioTo build the sample using Visual Studio

  1. Bei Verwendung von Windows VistaWindows Vista, Windows Server 2008Windows Server 2008, Windows 7 oder Windows Server 2008 R2 und Ausführung Visual Studio 2012Visual Studio 2012, müssen Sie Visual Studio mit erweiterten Berechtigungen ausführen.If you are using Windows VistaWindows Vista, Windows Server 2008Windows Server 2008, Windows 7, or Windows Server 2008 R2, and running Visual Studio 2012Visual Studio 2012, you must run Visual Studio with elevated permission. Klicken Sie hierzu mit der rechten Maustaste auf das Startmenü auf des Symbol, und klicken Sie dann auf als Administrator ausführen.To do so, right-click the icon on the Start menu and then click Run as administrator.

  2. Aus der Datei Menü in Visual Studio, klicken Sie auf öffnen, klicken Sie dann auf Projekt/Projektmappe.From the File menu in Visual Studio, click Open, then click Project/Solution. Navigieren Sie zum sprachspezifischen Unterverzeichnis unter dem Verzeichnis, in dem Sie das Beispiel installiert, und doppelklicken Sie auf das Symbol der SLN-Datei zum Öffnen der Projektmappe in Visual Studio.Navigate to the language-specific subdirectory under the directory in which you installed the sample, and double-click the .sln file icon to open the solution in Visual Studio.

  3. In der erstellen klicken Sie im Menü Projektmappe neu erstellen.In the Build menu, select Rebuild Solution. Die Clientprogrammdateien werden im Verzeichnis client\bin erstellt, und die Dienstprogrammdateien werden im Verzeichnis service\bin erstellt.The client program files are built to client\bin and the service program files are built to service\bin. Wenn der Dienst in IIS gehostet wird, werden die Dienstprogrammdateien auch in das Verzeichnis \servicemodelsamples und dessen Unterverzeichnis \bin kopiert.If the service is hosted in IIS, the service program files are also copied to the servicemodelsamples directory and its \bin subdirectory.

Hinweis

Sie müssen die Zugriffssteuerungslisten (Access Control List, ACL) für %systemdrive%\inetpub\wwwroot festlegen, um dem Konto, unter dem das Programm ausgeführt wird, Berechtigungen zum Ändern zu erteilen.You must set the ACLs on %systemdrive%\inetpub\wwwroot to grant modify permissions to the account under which you are running. Andernfalls führen einige Postbuildereignisse zu Fehlern.Otherwise some post build events fail. Sie können die ACLs aber auch unverändert lassen und die SDK-Eingabeaufforderung oder Visual Studio als Administrator ausführen.Alternatively, you can leave the ACLs as they are and run the SDK command prompt or Visual Studio as administrator. Für einige Visual Studio-Aktionen (wie das Anfügen eines Debuggers an den ASP.NET-Arbeitsprozess) sind ebenfalls Administratorrechte erforderlich.Some Visual Studio actions (such as attaching a debugger to the ASP.Net worker process) also require administrative privileges.

Setupbatchdateien und SkriptsSetup Batch Files and Scripts

Die Batchdateien und Skripts Setup.exe und Cleanup.exe müssen an einer Visual Studio-Eingabeaufforderung ausgeführt werden.Setup.exe and Cleanup.exe batch files and scripts should be run from a Visual Studio command prompt. Einige Setup- und Cleanup-Dateien führen Aufgaben aus, für die Administratorrechte erforderlich sind. Sie müssen daher mit entsprechenden Rechten gestartet werden.Several set up and clean up files perform tasks that require administrative privileges and should be launched with administrator privileges.

Wichtige Sicherheitsinformationen über MetadatenendpunkteImportant Security Information about Metadata Endpoints

Um unbeabsichtigtes Offenlegen möglicherweise vertraulichen Dienstmetadaten zu verhindern, deaktiviert die Standardkonfiguration für Windows Communication Foundation (WCF)-Dienste die Metadatenveröffentlichung.To prevent unintentional disclosure of potentially sensitive service metadata, the default configuration for Windows Communication Foundation (WCF) services disables metadata publishing. Dieses Verhalten ist in der Standardeinstellung sicher, bedeutet aber auch, dass man den zum Aufrufen des Diensts erforderlichen Clientcode nicht mithilfe eines Tools zum Importieren von Metadaten (wie Svcutil.exe) generieren kann. Dies ist nur dann möglich, wenn das Verhalten des Diensts zum Veröffentlichen von Metadaten in der Konfiguration explizit aktiviert ist.This behavior is secure by default, but also means that you cannot use a metadata import tool (such as Svcutil.exe) to generate the client code required to call the service unless the service’s metadata publishing behavior is explicitly enabled in configuration. Um Ihnen das Experimentieren mit den Beispielen zu vereinfachen, wird in fast allen Beispielen ein ungesicherter Endpunkt zum Veröffentlichen von Metadaten verfügbar gemacht.To make experimenting with the samples easier, almost all samples expose an unsecured metadata publishing endpoint. Solche Endpunkte können für anonyme, nicht authentifizierte Benutzer möglicherweise verfügbar sein. Daher muss beim Bereitstellen solcher Endpunkte sorgfältig darauf geachtet werden, dass das Öffentlichmachen von Metadaten eines Diensts sachgerecht erfolgt.Such endpoints are potentially available to anonymous unauthenticated consumers and care must be taken before deploying such endpoints to ensure that publicly disclosing a service’s metadata is appropriate. Weitere Informationen zum Veröffentlichen von Dienstmetadaten finden Sie unter der Metadatenveröffentlichungsverhalten Beispiel.For more information about publishing service metadata, see the Metadata Publishing Behavior sample. Finden Sie unter der benutzerdefinierter sicherer Metadatenendpunkt Sample ist ein Beispiel ein metadatenendpunkts zu sichern.See the Custom Secure Metadata Endpoint sample for a sample securing a metadata endpoint.

AusnahmebehandlungException Handling

Im Allgemeinen enthalten diese Beispiele keine Ausnahmebehandlung, damit der Code auf das Thema des jeweiligen Beispiels beschränkt werden kann.Generally speaking these samples do not include exception handling to keep the code focused on the subject of the sample. Weitere Informationen zur Behandlung von Ausnahmen finden Sie unter der Ausnahmen erwartet Beispiel.For more information about exception handling, see the Expected Exceptions sample.

Neugenerieren von Clients und Konfiguration mit "Svcutil"Regenerating Clients and Configuration with Svcutil

Sie können die ServiceModel Metadata Utility Tool (Svcutil.exe) zum Generieren von Clientcode und-Konfiguration für die meisten der Beispiele.You can use the ServiceModel Metadata Utility Tool (Svcutil.exe) to regenerate client code and configuration for most of the samples. Bei einigen Beispielen ist es erforderlich, die Konfiguration manuell zu bearbeiten.Some samples require manually edited configuration. Wenn Sie beispielsweise mit Svcutil.exe die Konfiguration für ein Beispiel neu generieren, in dem Clientzertifikat-Anmeldeinformationen verwendet werden, müssen Sie die vorher konfigurierten Anmeldeinformationen manuell angeben.For example, if you use Svcutil.exe to regenerate the configuration for a sample that uses client certificate credentials, you must manually specify the credentials previously configured. Einige Beispiele beeinflussen den generierten Code mithilfe bestimmter Optionen für Svcutil.exe. Diese Optionen sind dann in den jeweiligen Beispielthemen angegeben.Some samples use specific Svcutil.exe options to affect the generated code, these options are specified in the specific sample topics.

So generieren Sie den Client und die Konfigurationsdateien neuTo regenerate the client and configuration files

  1. Öffnen Sie eine SDK-Eingabeaufforderung, und navigieren Sie zu dem sprachspezifischen Unterverzeichnis unterhalb des Verzeichnisses, in dem Sie das Beispiel installiert haben.Open an SDK command prompt and navigate to the language-specific subdirectory under the directory location where you installed the sample.

  2. Wenn der Dienst im Internet gehostet wird, verwenden Sie den folgenden Befehl.If the service is a Web-hosted type, use the following command.

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

    Wenn der Dienst selbst gehostet ist, verwenden Sie den folgenden Befehl.If the service is a self-hosted type the following command.

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

    Ersetzen Sie http://localhost:8000/ServiceModelSamples/service.svc/mex mit der Adresse des Mex-Endpunkt für den selbst gehosteten Dienst.Replace http://localhost:8000/ServiceModelSamples/service.svc/mex with the address of the self-hosted service's mex endpoint.

    Verwenden Sie zum Generieren des Clients in Visual Basic den folgenden Befehl.To generate the client in a Visual Basic type, use the following command.

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

    Wenn der Dienst selbst gehostet ist, verwenden Sie den folgenden Befehl.If the service is a self-hosted type, use the following command.

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

    Hinweis

    Hinzufügen der Generierung der Clientkonfiguration Überspringen der /noconfig Option.To skip the generation of client configuration add the /noConfig option.

Siehe auchSee Also

Durchführen der Windows Communication Foundation-BeispieleRunning the Windows Communication Foundation Samples
ServiceModel Metadata Utility-Tool (Svcutil.exe)ServiceModel Metadata Utility Tool (Svcutil.exe)