我运行了自定义绑定的WCF服务,现在它使用httpTransport。
<customBinding>
<binding name="myHttpBindingConf">
<context contextManagementEnabled="true" protectionLevel="None"
contextExchangeMechanism="ContextSoapHeader" />
<textMessageEncoding/>
<httpTransport useDefaultWebProxy="false" />
</binding>
</customBinding>
我已按照以下说明制作了自定义IExtension<OperationContext>
以在特定上下文中存储我的数据:
http://hyperthink.net/blog/a-simple-ish-approach-to-custom-context-in-wcf/
我想使用ContextMode.PerSession
上下文。
哪种运输选择获得会话管理?
如何设置新的传输并启用对象发现?
如何强制PerSession上下文?
答案 0 :(得分:1)
建立会话的能力不一定仅取决于使用的传输。例如。您可以使用WS-SecureConversion建立会话并仍使用HTTP(s)传输。
检查http://msdn.microsoft.com/en-us/library/ms733040.aspx部分“系统提供的会话类型”。
此外,您通常会将服务实例绑定到会话,而不是操作上下文。
答案 1 :(得分:0)
您可以在服务的实现中而不是在配置文件中指定它
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class MyService : IMyService