как включить Сессию WCF с wsHttpBidning с Транспортом только безопасность

У меня есть Сервис WCF, в настоящее время развертываемый с basicHttpBindings, и SSL включил. Но теперь я должен включить wcf сессии (не сессии asp), таким образом, я переместил сервис в wsHttpBidnings, но сессии не включены

Я установил

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]

Но когда я установил

SessionMode=SessionMode.Required

по контракту на обслуживание это говорит

Контракт требует, чтобы Сессия, но Связывающий 'WSHttpBinding' не поддерживала его или не была настроена правильно для поддержки его.

следующее является определением WSHttpBinding

<wsHttpBinding>
    <binding name="wsHttpBinding">
      <readerQuotas maxStringContentLength="10240" />
      <reliableSession enabled="false" />
      <security mode="Transport">
        <transport clientCredentialType="None">
          <extendedProtectionPolicy policyEnforcement="Never" />
        </transport>
      </security>
    </binding>
  </wsHttpBinding>

помогите мне с этим

6
задан abatishchev 3 April 2012 в 15:04
поделиться

1 ответ

Если вы хотите "сеансы" с wsHttpBinding, вы должны использовать либо надежный обмен сообщениями, либо сеансы безопасности.

Чтобы включить сеансы в wsHttpBinding, вам нужен надежный обмен сообщениями,и для этого вам нужно изменить настройку надежного сеанса (тег, который выглядит так <надежный сеанс /> ), чтобы он был включен - чтобы ваша новая конфигурация выглядела так:

<wsHttpBinding>
    <binding name="wsHttpBinding">
      <readerQuotas maxStringContentLength="10240" />
      <reliableSession enabled="true" />
      <security mode="Transport">
        <transport clientCredentialType="None">
          <extendedProtectionPolicy policyEnforcement="Never" />
        </transport>
      </security>
    </binding>
  </wsHttpBinding>
7
ответ дан 17 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: