Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / pollingDuplexHttpBinding TransportWithMessageCredential Клиент не получает ответов сервиса / 2 сообщений из 2, страница 1 из 1
25.01.2012, 10:02
    #37630178
Alex_BBB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pollingDuplexHttpBinding TransportWithMessageCredential Клиент не получает ответов сервиса
Добрый день.
Мы используем pollingDuplexHttpBinding в security mode TransportWithMessageCredential .
SilverLight 4 клиент может посылать запросы сервису и он(сервис) их получает, но клиент не получает ответов сервера.

Если поменять security mode с TransportWithMessageCredential на Transport , то все работает хорошо.

Ниже показана рабочая конфигурация (security mode Transport). Комментариями показана конфигурация которая приводит к тому что сервер получает запросы от клиента, но клиент не получает ответы.

Сервис
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<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 Клиент
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<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>
...
Рейтинг: 0 / 0
25.01.2012, 11:17
    #37630312
Alex_BBB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
pollingDuplexHttpBinding TransportWithMessageCredential Клиент не получает ответов сервиса
Нашлось решение. В конфигурации клиента нужно добавить includeTimestamp="false"

Код: xml
1.
<security authenticationMode="UserNameOverTransport" includeTimestamp="false" />
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / pollingDuplexHttpBinding TransportWithMessageCredential Клиент не получает ответов сервиса / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]