У меня есть служба WCF, используемая клиентом AJAX с использованием SOAP 1.2.
Web.config:
<endpoint address="" binding="wsHttpBinding"
contract="WcfService1.IService1" bindingConfiguration="wsHttpBin">
<wsHttpBinding>
<binding name="wsHttpBin">
<security mode="None"/>
</binding>
</wsHttpBinding>
Из того, что я прочитал, я необходимо использовать <security mode="None"/>
, поскольку служба, представленная с привязкой «wsHttpBinding», реализует WS-Security спецификаций веб-служб семейства WS- *. Поскольку привязка использует безопасность, запрос будет отклонен, поскольку AJAX не поддерживает контекст безопасности.
Поведение моей службы WCF определяется с помощью InstanceContextMode.PerSession
:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple,
InstanceContextMode = InstanceContextMode.PerSession)]
но когда я его использую, служба ведет себя как PerCall, и каждый вызов запускает новый экземпляр WCF вместо использования текущего экземпляра.
Почему InstanceContextMode.PerSession ведет себя как PerCall при использовании wsHttpBinding?
Что я могу сделать?