Как получить правильный 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>
Однако после установки клиента и Web-сервиса на разных устройствах мне, конечно, придется изменить эти значения, чтобы они соответствовали новым устройствам и соединениям. Я просто понятия не имею, как это сделать. Вы можете мне помочь?
1 ответ
Хорошо, я нашел ответ сам. Каждый C#-проект поставляется с appconfig, который в окончательной версии называется [projectname].exe.config. Текст внутри отформатирован как XML, так что вы можете читать, писать и изменять его содержимое. Таким образом, вы можете изменить конечную точку, имя ссылки и т. Д.