Gewusst wie: Konfigurieren eines grundlegenden Windows Communication Foundation-Clients
Dies ist die fünfte von sechs Aufgaben, die zum Erstellen eines grundlegenden Windows Communication Foundation (WCF)-Diensts und eines Clients, der den Dienst aufrufen kann, erforderlich sind. Eine Übersicht über alle sechs Aufgaben finden Sie im Thema Lernprogramm "Erste Schritte".
In diesem Thema wird dem Clientprojekt die mit Service Model Metadata Utility (Svcutil.exe) generierte Clientkonfigurationsdatei hinzugefügt. Außerdem wird der Inhalt der Clientkonfigurationselemente erklärt. Für die Konfiguration des Clients muss der Endpunkt angegeben werden, den der Client verwendet, um auf den Dienst zuzugreifen. Ein Endpunkt hat eine Adresse, eine Bindung und einen Vertrag. Bei der Konfiguration eines Clients muss jedes dieser Elemente angegeben werden.
Der Inhalt der für diesen Client generierten Konfigurationsdatei wird in dem Beispiel bereitgestellt, das dem Verfahren folgt.
So konfigurieren Sie einen Windows Communication Foundation-Client
Fügen Sie in Visual Studio die im vorherigen Verfahren (Gewusst wie: Erstellen eines Windows Communication Foundation-Clients) generierte App.config-Konfigurationsdatei zum Clientprojekt hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Clientprojekt, wählen Sie Hinzufügen aus, und klicken Sie anschließend auf Vorhandenes Element. Wählen Sie danach unter "C:\Benutzer\<Benutzername>\Eigene Dateien\Visual Studio 2005\Projects\Service\Client" die App.config-Konfigurationsdatei aus. (Die Datei besitzt den Namen "App.config", da Sie bei ihrer Generierung mit dem Svcutil.exe-Tool den Schalter /config:app.config verwendet haben.) Klicken Sie auf OK. Standardmäßig werden im Dialogfeld Vorhandenes Element hinzufügen alle Dateien mit der Erweiterung ".config" herausgefiltert. Wählen Sie im Dropdownfeld in der rechten unteren Ecke des Dialogfelds Vorhandenes Element hinzufügen die Option Alle Dateien (*.*) aus, um diese Dateien anzuzeigen.
Öffnen Sie die generierte Konfigurationsdatei. Svcutil.exe generiert Werte für jede Einstellung der Bindung. Im folgenden Beispiel wird der Inhalt der generierten Konfiguration gezeigt. Unter dem <system.serviceModel>-Abschnitt sehen Sie das <endpoint>-Element. Die folgende Konfigurationsdatei ist eine vereinfachte Version der generierten Datei.
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_ICalculator"> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator" contract="Microsoft.ServiceModel.Samples.ICalculator" name="WSHttpBinding_ICalculator"> </endpoint> </client> </system.serviceModel> </configuration>
In diesem Beispiel wird der Endpunkt konfiguriert, den der Client verwendet, um auf den unter der Adresse https://localhost:8000/ServiceModelSamples/service zu findenden Dienst zuzugreifen.
Das Endpunktelement gibt an, dass der
Microsoft.ServiceModel.Samples.ICalculator
-Vertrag, der mit der vom System bereitgestellten WsHttpBinding konfiguriert wurde, für die Kommunikation verwendet wird. Diese Bindung gibt HTTP als Transport, interoperable Sicherheit und andere Einzelheiten der Konfiguration an.Weitere Informationen dazu, wie der generierte Client mit dieser Konfiguration verwendet wird, finden Sie unter Gewusst wie: Verwenden eines Windows Communication Foundation-Clients.
Beispiel
Das Beispiel zeigt den Inhalt der für diesen Client generierten Konfigurationsdatei an.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_ICalculator"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ICalculator"
contract="ICalculator"
name="WSHttpBinding_ICalculator">
<identity>
<userPrincipalName value="user@contoso.com" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
Der Client ist nun konfiguriert. Fahren Sie mit Gewusst wie: Verwenden eines Windows Communication Foundation-Clients fort. Informationen zur Problembehandlung finden Sie unter Problembehandlung für das Lernprogramm "Erste Schritte".
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Windows Communication Foundation-Clients
Konzepte
Verwenden von Bindungen, um Dienste und Clients zu konfigurieren
Weitere Ressourcen
Service Metadata Utility (Svcutil.exe)
Getting Started Sample
Self-Host