网络服务真的是无国籍的吗?

时间:2010-07-20 07:20:59

标签: .net wcf web-services

众所周知,Web服务是无状态的。它写在每个处理WCF基础知识的文本中。但我需要知道,他们是否真的无国籍。

我正在阅读PerCall WCF webservice,它会破坏每次通话的服务实例。我无法理解Percall服务的使用。如果webservices是无状态的,那么每次调用都需要销毁服务实例。

1 个答案:

答案 0 :(得分:7)

WCF有几个实例模型。

  • Single(Singleton),其中1个实例处理所有请求。
  • PerCall模型,其中每个调用都有一个单独的实例
  • PerSession模型,其中每个客户端获取一个实例(statefull)

PerCall模型是真正的无状态。使用单例模型取决于你如何写它(但强烈建议无状态)。 PerSession模型根本不是无状态的。

有关内存使用,并发性,延迟和安全性的权衡。