У меня есть служба WCF на сервере B. Затем на машине A находится клиент, который является службой Windows. В отдельной DLL стоит вся бизнес-логика для этого сервиса. Так что мой прокси для WCF на этой стороне. У меня есть 2 app.config (только на стороне клиента): 1 для службы и еще один в dll. Поэтому я попытался (для целей тестирования) положить раздел конфигурации servicemodel в обоих. И все же, он не работает, он говорит, что не может найти конечную точку с этим именем и для этого контракта ...
То, что я пытаюсь сделать здесь, это изменить конфигурацию программно. Вот код в dll бизнес-уровня:
Dim ep As New EndpointAddress(New Uri(ConfigurationManager.AppSettings(nomServeurCible)), _
EndpointIdentity.CreateDnsIdentity(ConfigurationManager.AppSettings("Identity_" & nomServeurCible)))
serviceCible = New ServiceProxy.ExecOperClient("wsHttp", ep)
А вот пример файла конфигурации:
<add key="TEST1" value="http://TEST1:8000/MySpacePerso/ExecOperService"/>
<add key="TEST1_CertificateSerialNumber" value="10 hj 6y 7b 00 01 32 12 01 21"/>
<add key="Identity_TEST1" value="TEST1"/>
<system.serviceModel>
<client>
<endpoint address="http://SERV_NAME:8000/CSSTQDA/ExecOperService" binding="wsHttpBinding"
behaviorConfiguration="myClientBehavior"
bindingConfiguration="MybindingCon" contract="ExecOper.Service.IExecOper"
name="wsHttp">
<identity>
<dns value="SERV_CERT_NAME"/>
</identity>
</endpoint>
</client>
<bindings>
<wsHttpBinding>
<binding name="MybindingCon">
<security mode="Message">
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceTraitementBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="myClientBehavior">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="ChainTrust" revocationMode="NoCheck"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>