我有 AJAX 客户端使用 SOAP 1.2 使用的 WCF 服务
网络配置:
<endpoint address="" binding="wsHttpBinding"
contract="WcfService1.IService1" bindingConfiguration="wsHttpBin">
<wsHttpBinding>
<binding name="wsHttpBin">
<security mode="None"/>
</binding>
</wsHttpBinding>
根据我的阅读,我必须使用,<security mode="None"/>
因为通过“wsHttpBinding”绑定公开的服务实现了 WS-* 系列 Web 服务规范的 WS-Security。由于绑定使用安全性,因此请求将被拒绝,因为 AJAX 不支持安全上下文。
我的 WCF 服务行为定义为InstanceContextMode.PerSession
:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple,
InstanceContextMode = InstanceContextMode.PerSession)]
但是当我使用它时,服务表现为 PerCall 并且每次调用都会启动一个新的 WCF 实例,而不是使用当前实例。
为什么使用 wsHttpBinding 时 InstanceContextMode.PerSession 的行为类似于 PerCall?
我能做些什么?