我已经读过,在可伸缩性方面,每次调用实例化模式是最优选的。但到目前为止我还没有理解。
问题是我无法弄清楚可扩展性是什么?在什么方面?
有人可以用简单的语言解释一下吗?
答案 0 :(得分:4)
可伸缩性是系统处理不断增长的工作量的能力,例如,这意味着如果从1个客户端,2个客户端或100个客户端调用服务,则服务以相同的方式保持工作,或者至少相当好
如果您使用InstanceContextMode“单个”,您的服务将能够每次处理一个呼叫,因为只有一个wcf服务实例可以存在。 所以,假设一个客户端调用您的服务并花了10秒钟完成,如果在那个时候另一个对您的服务的调用即将到来,它必须等到第一个完成之前才开始,这意味着它的不是scalabale 因为之前说的是,处理工作量增加(1个客户端好,2个客户端坏)并不是一件容易的事。
另一方面,如果您使用“ PerCall ”设置服务,您的服务将能够同时拥有多个实例,这意味着在上一个方案中,第二个呼叫将被提供一旦它到达,因为你的服务的另一个实例将被创建并用于执行第二次调用,这意味着它是 scalabale 因为处理了越来越多的工作(1个客户端好,2个客户端仍然好)
希望这很容易