我们在安全模式TransportWithMessageCredential.中使用SSL上的pollingDuplexHttpBinding。服务从客户端接收消息,但客户端没有得到响应。
如果我们将安全模式从TransportWithMessageCredential更改为传输模式,则所有的工作方式都很好。
工作配置
要显示的注释不起作用配置。
服务配置
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<!--
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="myType" />
</serviceCredentials>
-->
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<pollingDuplexHttpBinding>
<binding name="multipleMessagesPerPollPollingDuplexHttpBinding"
duplexMode="SingleMessagePerPoll">
<!--
<security mode="TransportWithMessageCredential" />
-->
<security mode="Transport" />
</binding>
</pollingDuplexHttpBinding>
</bindings>
<services>
<service name="Gam.Service.GamSrv">
<endpoint
address=""
binding="pollingDuplexHttpBinding"
bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"
contract="Gam.Service.Abstract.IUserSrv" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>SilverLight 4客户端配置
<bindings>
<customBinding>
<binding name="pd">
<!--
<security authenticationMode="UserNameOverTransport" />
-->
<pollingDuplex duplexMode="SingleMessagePerPoll" />
<binaryMessageEncoding />
<httpsTransport transferMode="Buffered" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="/GamSrv.svc"
binding="customBinding"
bindingConfiguration="pd"
contract="GamSrvReference.IUserSrv"
name="MyDuplexContract" />
</client>发布于 2012-01-25 07:13:15
解决方案-在客户端安全配置中添加includeTimestamp="false“
<security authenticationMode="UserNameOverTransport" includeTimestamp="false" />https://stackoverflow.com/questions/8992826
复制相似问题