WCF über IIS durch Load Balancer meldet falsche Basisadresse

8

Ich versuche, einen WCF-Dienst über SSL auf IIS 6 über einen Load Balancer zu starten. Mein anfängliches Problem war offensichtlich und ziemlich gut besprochen - die Adresse, die auf der WSDL-Seite gezeigt wurde, zeigte auf Ссылка anstatt auf www.mydomain.com. com. Die Antwort auf dieses Problem ist das Hinzufügen eines Hostheaderwerts in IIS. Ich habe das getan und es hat ... irgendwie funktioniert. Ich erhalte jetzt Ссылка : //www.mydomain.com/WebServices/mydomainws.svc, wenn ich die WSDL in einem Browser anschaue. Wenn ich auf diesen Link (den Nicht-ssl-Link) klicke, erhalte ich eine Service-Definition, die erneut auf den Servernamen verweist.

Das nächste häufig empfohlene Gegenmittel ist die Verwendung von WCF-Extras , die eine Erweiterung bietet, mit der Sie eine Basisadresse angeben können. Aber das Setzen dieses Konfigurationseintrags hat nur die soap12: -Adresse aktualisiert. Die EndPointReference-Adresse verwendet weiterhin den Computernamen.

Zusammengefasst: WSDL, wie im Webbrowser unter Ссылка angezeigt: Ссылка : //www.mydomain.com/WebServices/mydomainws.scv

Das Klicken auf den obigen Link bringt mich zu einer tatsächlichen WSDL-Datei mit dem folgenden Diensteintrag:

                                     Ссылка               

Meine Server-Konfigurationsdatei enthält die folgenden serviceModel-Einträge:

%Vor%

Kann mir jemand in die richtige Richtung zeigen?
Vielen Dank, George

    
GeorgeBarker 22.10.2010, 21:49
quelle

1 Antwort

6

Dies sollte durch neues Verhalten behandelt werden useRequestHeadersForMetadataAddress . Versuchen Sie, dies zu Ihrem Dienstverhalten hinzuzufügen:

%Vor%

Dieses Verhalten ist in WCF 4.0 verfügbar und sollte als KB für WCF 3.x verfügbar sein.

    
Ladislav Mrnka 23.10.2010 08:38
quelle

Tags und Links