ProKiLL
@ProKiLL
Системный администратор

Как настроить клиента на лету?

Добрый день!

Дано:
Программа Updater подключается к WCF и проверяет актуальную версию программы.
Программа Мониторинг работает так же с WCF.

2 WCF сервера на Windows Server 2008 R2

Необходимо:
Сконфигурировать конфиги (*.exe.config) клиентских программ на лету таким образом что бы подключение к WCF происходило по внутренним адресам (если ПК находиться в сети предприятия) или внешним адресам (если ПК находиться за пределами предприятия)

Пример:
Кусок кода для подключения по внутреннему адресу:
<endpoint address="http://192.168.2.8:10202/Monitoring" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IMonitoring" contract="svc.IMonitoring"
                name="BasicHttpBinding_IMonitoring" />
            <endpoint address="net.tcp://192.168.2.8:10203/Monitoring" binding="netTcpBinding"
                bindingConfiguration="MetadataExchangeTcpBinding_IMonitoring"
                contract="svc.IMonitoring" name="MetadataExchangeTcpBinding_IMonitoring" />


Пример:
Кусок кода для подключения по внешнему адресу:
<endpoint address="http://231.18.50.8:10202/Monitoring" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IMonitoring" contract="svc.IMonitoring"
                name="BasicHttpBinding_IMonitoring" />
            <endpoint address="net.tcp://231.18.50.8:10203/Monitoring" binding="netTcpBinding"
                bindingConfiguration="MetadataExchangeTcpBinding_IMonitoring"
                contract="svc.IMonitoring" name="MetadataExchangeTcpBinding_IMonitoring" />


Вопрос:
Как осуществить изменение конфигов на лету? т.е. что бы программа подгрузила рабочий конфиг а не выдала ошибку.

Мои мысли:
При запуске программы Updater проверять доступность сервера по внутреннему адресу если он не доступен то менять ip в конфигах на внешний и повторять попытку.
Вопрос тогда сводиться к тому как отредактировать уже задействованный конфиг программы Updater?
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы