Je souhaite modifier dynamiquement l'adresse d'un service WCF appelé depuis mon client en fonction des informations personnalisées dans le fichier de configuration de l'application du client.Modification dynamique de l'adresse du point de terminaison WCF à l'aide d'un comportement
Ma première tentative était de créer un comportement de point final, et mettre en œuvre la méthode IEndpointBehavior.Validate
, mis en œuvre quelque chose comme ce qui suit:
void IEndpointBehavior.Validate(ServiceEndpoint endpoint)
{
... endpoint.Address = new EndpointAddress(...);
}
Cette méthode est appelée avant que le client tente de se connecter, et semble changer avec succès adresse de point de terminaison. Toutefois, l'infrastructure WCF semble toujours tenter la connexion en utilisant l'adresse d'origine.
Y at-il un moyen d'y parvenir en utilisant un comportement de point de terminaison ou un autre point d'extension WCF?
Pourquoi ne pas simplement utiliser le constructeur de classe proxy qui prend un 'EndPointAddress'? –
Je ne peux pas réaliser ce que je veux en utilisant le constructeur de la classe proxy (en fait dans mon cas un constructeur ChannelFactory) parce qu'à ce stade je ne sais pas encore quelle adresse utiliser. –
Joe
Comment ne pas connaître l'adresse au moment de la création du proxy? –