У меня есть Сервис 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>
помогите мне с этим
Если вы хотите "сеансы" с 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>