0
我在服務器B上有一個WCF服務。然後在機器A上是客戶端,這是一個Windows服務。在單獨的dll中包含了該服務的所有業務邏輯。所以我的代理WCF就在這邊。我有2個app.config(僅客戶端):1爲服務和另一個在DLL中。所以我試着(爲了測試目的)把servicemodel配置部分放在兩者中。兩個仍然,它不工作,它說,它無法找到該名稱和該合同的端點...WCF找不到客戶端配置
我想在這裏做的是修改編程的配置。下面是在業務層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>