мы используем pollingDuplexHttpBinding по SSL с режимом безопасности TransportWithMessageCredential .
Служба получает сообщения от клиента, но клиент не получает ответа.
Если мы изменим режим безопасности с TransportWithMessageCredential на Транспорт , все будут работать хорошо.
Рабочая конфигурация
Комментарии показывают, что не работает config.
Сервисная конфигурация
<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>