Конфигурация клиента WCF: адрес централизованной конечной точки - PullRequest
0 голосов
/ 20 августа 2009

У меня есть клиент WCF, который ссылается на несколько служб, размещенных на одной машине. как этот пример

<client>
   <endpoint address="net.tcp://localhost:8731/TrackingService" binding="netTcpBinding" ...
   </endpoint>
   <endpoint address="net.tcp://localhost:8731/CommonService" binding="netTcpBinding"...
   </endpoint>
</client>

возможно ли изменить мой app.config, чтобы сохранить

net.tcp://localhost:8731

часть адреса конечной точки в другой переменной, поэтому, когда я развернусь, мне придется изменить его один раз?

Может быть, программно умный способ сделать это? Мне нужно только изменить адрес: порт.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 20 августа 2009

Вы всегда можете программно создать свой клиент и прочитать адрес из обычного значения appconfig. Как это

MyClient client=
                new MyClient(new BasicHttpBinding(), new EndpointAddress(ConfigurationManager.AppSettings.Get("ServiceAddress");)
1 голос
/ 20 августа 2009

Нет, к сожалению, на стороне клиента нет ничего похожего на <baseAddress>, как на стороне сервера, который вы можете установить глобально.

Боюсь, что в каждом объявлении конечной точки должен быть полный, полный URL-адрес.

Марк

...