Как получить правильный ServiceReference и его адрес конечной точки для WCF-Webservice при установке

Я столкнулся с проблемой при установке моего проекта. Он состоит из трех частей: клиентского приложения WindowsForms, веб-службы WCF и базы данных (SQLExpress atm).

На данный момент адрес конечной точки и ссылка на службу, необходимые для соединения между клиентом и веб-службой, жестко запрограммированы в app.config проекта WindowsForms, ссылаясь на конкретный компьютер в той же сети, в которой работает веб-служба, следующим образом:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_IWemosService" maxBufferPoolSize="2147483647"
                maxReceivedMessageSize="2147483647" />
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://ent-ga-04:8733/Design_Time_Addresses/WcfServiceWemos/WemosService/"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWemosService"
            contract="ServiceReferenceWemos.IWemosService" name="BasicHttpBinding_IWemosService" />
    </client>
</system.serviceModel>
</configuration>

Однако после установки клиента и веб-сервиса на разных устройствах мне, конечно, придется изменить эти значения, чтобы они соответствовали новым устройствам и подключениям. Я просто понятия не имею, как это сделать. Можете вы помочь мне?


person Daniel    schedule 16.03.2017    source источник


Ответы (1)


Хорошо, я нашел ответ сам. Каждый проект C# поставляется с appconfig, который в окончательной версии называется [projectname].exe.config. Текст внутри отформатирован как xml, поэтому вы можете читать, писать и изменять его содержимое. Таким образом, вы можете изменить конечную точку, имя ссылки и т. д.

person Daniel    schedule 16.03.2017