Wcf basicHttpBinding 支持 PerSession 吗?

16

basicHttpBinding在WCF中是否支持服务行为中的PerSession值?

我在哪里可以找到一张总结每种绑定及其选项信息的表格?

2个回答

21
不,basicHttpBinding由于HTTP协议的无连接特性而不支持此功能。您可以查看以下博客文章

例如,由于HTTP协议的无连接特性,BasicHttpBinding永远不能具有传输级会话。没有安全性和可靠消息的WSHttpBinding也不会维护传输级会话。在这两种情况下,即使服务配置为InstanceContextMode.PerSession并且与SessionMode.Allowed合同,服务也将表现为每次调用服务,并且对Dispose()的调用是异步的;也就是说,在调用后,客户端不会被阻塞,而WCF正在处理实例。

但是,如果您使用带有安全性(其默认配置)或可靠消息的WSHttpBinding,或者NetTcpBinding或NetNamedPipeBinding,则服务将表现为每个会话服务。

这里还有系统提供的绑定列表以及它们的一些特征。


嗨,如果网站可以通过在无连接的HTTP上使用会话ID(在cookie中)来管理会话,那么为什么WCF不能做到呢? - thewpfguy

3
< p > basicHttpBinding 不支持会话 - 您可以在 MSDN 上查看绑定功能的相当不错的概述(向下滚动一点,找到 Binding Features 部分)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接