Connettersi via Remoting in VPN
Un cliente ha richiesto che il sistema fosse disponibile anche in modalità VPN. Dato che con Remoting la vita non è facile e non era possibile eseguire il porting di tutto il sistema a WCF ho trovato questo piccolo workaround che funziona egregiamente.
Premetto che il problema è presente perché nel nostro sistema si fa uso di notifiche server –> client.
Nel mondo Remoting, il problema della connessione via VPN è abbastanza semplice da risolvere, infatti è sufficiente comunicare al back-end l’IP al quale si vuole che le notifiche vengano inviate, oltre a questo va considerato anche il fatto di essere in presenza di DHCP.
Premesso che l’IP veniva assegnato dinamicamente con un range del tipo 10.*.*.* il workaround è consistito nell’assegnare all’attributo machineName della configurazione Remoting del channel l’IP con il quale si è collegati, quindi di default è l’IP o il nome macchina quando si è connessi alla LAN mentre se si è in VPN, condizione vera se almeno un IP soddisfava il range, il machineName veniva cambiato a runtime, questo prima della RemotingConfigure().
Semplice ma efficace.