Ich habe einen WCF-Web-Remote-Dienst, zu dem ich eine Verbindung mit meiner Anwendung herstelle.Sicherstellen, dass ausgehende WCF-Anforderungen mithilfe einer bestimmten Netzwerkschnittstelle ausgeführt werden
Die Anwendung auf einem Server mit mehreren IP-Adressen (oder mehreren physikalischen Netzwerkschnittstellen)
Ich muß sicherstellen, dass ich Adresse steuern kann für die Outbound-Anforderung verwendet wird, anstatt nur die IP kann ausgeführt werden, Verwenden der "bevorzugten" Schnittstelle gemäß den normalen Metrikregeln.
Der Grund dafür ist, dass mehrere Kopien der Software auf demselben Computer ausgeführt werden, wobei jeder für seine eigenen Operationen an eine bestimmte IP-Adresse gebunden ist und der entfernte Dienst wissen muss, welcher Server verwendet wird um zu einem späteren Zeitpunkt eine Verbindung zu ihm herzustellen (da das Abrufen der Adresse eine Verbindung mit dem falschen Dienst erfordert)
Bei älteren ASMX-Diensten wird dies durch Überschreiben von GetWebRequest(Uri uri)
für die für den Dienst generierte Teilklasse ausgeführt. Aber ich kann überhaupt nicht herausfinden, wie man das mit WCF macht.
Auf einem unrelated SO post schlug MVP @JohnSaunders dies möglicherweise durch Übernahme des gesamten von WCF verwendeten Transportmechanismus vor. Aber ich habe auch noch nicht herausgefunden, wie ich das machen soll.
Wie wäre es mit http://stackoverflow.com/questions/3249846/specify-the-outgoing-ip-address-to-use-with-wcf-client –
@BradChristie Die erste Antwort ist OS-Ebene, die zweite Antwort doesn Sie gelten nicht für WCF und gelten nur für SOAP-Anfragen, weshalb diese Frage keine akzeptierte Antwort hat. – PhonicUK
BTW, abhängig von der IP-Adresse zu entscheiden, welche Instanz zu verbinden ist ... eine suboptimale Lösung. –