Freigeben über


Unterstützen mehrerer IIS-Sitebindungen

Beim Hosten eines Windows Communication Foundation (WCF)-Diensts unter Internetinformationsdienste (IIS) 7.0 möchten Sie möglicherweise mehrere Basisadressen bereitstellen, die dasselbe Protokoll auf demselben Standort verwenden. Auf diese Weise kann ein Dienst auf unterschiedliche URIs reagieren. Dies ist nützlich, wenn Sie einen Dienst hosten möchten, der auf http://www.contoso.com und http://contoso.com lauscht. Es ist auch hilfreich, einen Dienst zu erstellen, der über eine Basisadresse für interne Benutzer und eine separate Basisadresse für externe Benutzer verfügt. Beispiel: http://internal.contoso.com und http://www.contoso.com.

Hinweis

Diese Funktionalität ist nur bei Verwendung des HTTP-Protokolls verfügbar.

Mehrere Basisadressen

Diese Funktion ist nur für WCF-Dienste verfügbar, die unter IIS gehostet werden. Diese Funktion ist standardmäßig nicht aktiviert. Um sie zu aktivieren, müssen Sie das multipleSiteBindingsEnabled-Attribut zum <serviceHostingEnvironment>-Element in Ihrer Web.config-Datei hinzufügen und es auf true setzen, wie im folgenden Beispiel gezeigt.

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>

Beim Hosten eines WCF-Diensts unter IIS erstellt IIS basierend auf dem URI zum virtuellen Verzeichnis, das die Anwendung enthält, eine Basisadresse. Sie können zusätzliche Basisadressen hinzufügen, die das gleiche Protokoll verwenden. Verwenden Sie dazu den Internetinformationsdienste-Manager, um der Website eine oder mehrere Bindungen hinzuzufügen. Geben Sie für jede Bindung ein Protokoll (HTTP oder HTTPS), eine IP-Adresse, einen Port und einen Hostnamen an. Weitere Informationen zur Verwendung des Internetinformationsdienste-Managers finden Sie unter IIS-Manager (IIS 7). Weitere Informationen zum Hinzufügen von Bindungen zu einer Website finden Sie unter Erstellen einer Website (IIS 7)

Das Angeben mehrerer Basisadressen für die gleiche Website wirkt sich auf den Inhalt der WCF-Hilfeseite, das Importschema und die vom Dienst generierten WSDL/MEX-Informationen aus. Die Hilfeseite von WCF zeigt die Befehlszeile an, die zum Generieren eines WCF-Clients verwendet wird, der mit dem Dienst kommunizieren kann. Diese Befehlszeile enthält nur die erste Adresse, die in der IIS-Bindung für die Website angegeben ist. Genauso wird beim Importieren des Schemas nur die erste Basisadresse verwendet, die in der IIS-Bindung angegeben ist. WSDL- und MEX-Daten enthalten alle Basisadressen, die in den IIS-Bindungen angegeben sind.

Warnung

Wenn ein Dienst über zwei Basisadressen verfügt, eine für interne Benutzer und eine für externe Benutzer, bedeutet dies, dass beide Basisadressen in den vom Dienst generierten WSDL/MEX-Informationen angegeben wurden.