WCF - Webhttpbinding,看看PerCall和PerSession之间的显着差异

时间:2013-07-17 07:53:55

标签: .net wcf rest webhttpbinding instancecontextmode

我试图在PerSession和PerCall中配置我的wcf webhttpbinding(restful)服务。

据我所知,webhttpbinding不使用会话来满足其他原则,但是当我从LoadUI加载我的服务时,我看到了显着的性能差异。

Persession和PerCall不应该以相同的方式行事,因为每次调用都会创建一个新的服务实例,因为webhttpbinding中没有会话。

1 个答案:

答案 0 :(得分:2)

REST服务体系结构是无状态的(REST WS),因此使用

进行休息服务是没有意义的
InstanceContextMode = PerSession.

使用PerSession(但可能出现并发问题)的性能改进是为了 SOAP Web服务。

回答你的问题我相信这是一个幸运的一系列事件(数据库连接池,数据库缓存等),你可以看到性能提升。

由于InstanceContextMode.PerCall是WCF的无状态模式,即使您将PerSession指定为InstanceContextMode,它也是您的休息服务的实例化模式。