Ho un servizio Web WCF remoto a cui mi sto connettendo dalla mia applicazione.Garantire che le richieste WCF in uscita vengano eseguite utilizzando un'interfaccia di rete specifica
La domanda può essere in esecuzione su un server con più indirizzi IP (o più interfacce di rete fisiche)
ho bisogno di fare in modo che posso controllare che l'indirizzo IP viene utilizzato per la richiesta in uscita, invece di utilizzando l'interfaccia 'preferita' secondo le normali regole metriche.
Il motivo è che più copie del software verranno eseguite sulla stessa macchina, ciascuna associata a un indirizzo IP specifico per le proprie operazioni e il servizio remoto connesso a deve sapere quale viene utilizzato per collegarsi di nuovo ad esso in un secondo momento (dal momento che ottenere l'indirizzo sbagliato significa collegarsi al servizio sbagliato)
Con i servizi legacy ASMX questo viene fatto ignorando GetWebRequest(Uri uri)
sulla classe parziale generata per il servizio. Ma non riesco a capire come farlo con WCF.
Su un unrelated SO post, MVP @JohnSaunders ha suggerito che ciò potrebbe essere possibile assumendo l'intero meccanismo di trasporto utilizzato da WCF. Ma non ho ancora capito come farlo.
Informazioni su http://stackoverflow.com/questions/3249846/specify-the-outgoing-ip-ad-ress-to-use-with-wcf-client –
@BradChristie La prima risposta è a livello di SO, la seconda risposta non si applica a WCF e si applica solo alle richieste SOAP non elaborate, quindi perché la domanda non ha una risposta accettata. – PhonicUK
BTW, in base all'indirizzo IP per decidere a quale istanza connettersi è ... una soluzione non ottimale. –