Я хочу динамически изменять адрес службы WCF, вызванный моим клиентом, на основе пользовательской информации в файле конфигурации приложения клиента.Динамическое изменение адреса конечной точки WCF с помощью поведения
Моя первая попытка была создать поведение конечной точки, и реализовать метод IEndpointBehavior.Validate
, реализованный что-то вроде следующего:
void IEndpointBehavior.Validate(ServiceEndpoint endpoint)
{
... endpoint.Address = new EndpointAddress(...);
}
Этот метод вызывается до того, как клиент пытается подключиться, и, кажется, успешно изменить конечный адрес. Однако инфраструктура WCF по-прежнему пытается подключиться с использованием исходного адреса.
Есть ли способ достичь этого, используя поведение конечной точки или какую-либо другую точку расширения WCF?
Почему бы просто не использовать конструктор класса прокси, который принимает «EndPointAddress»? –
Я не могу добиться того, что хочу, используя конструктор класса proxy (фактически в моем случае - конструктор ChannelFactory), потому что в этот момент я еще не знаю, какой адрес использовать. –
Joe
Как вы не можете узнать адрес во время создания прокси? –