多个WCF服务之间的会话

多个WCF服务之间的会话,wcf,session,Wcf,Session,我是新的wcf,需要一些澄清,我在一个项目中有多个wcf服务(假设service01-service05采用每会话模式),现在我想知道何时创建客户端并调用service01,然后调用service02等等,是创建单个会话还是session01,session02(对于每个服务单独的会话)等等 如果是单独的会话,那么在调用multile服务时如何处理单个会话。每个WCF服务实例将有一个会话。WCF将会话状态保存在内存中,并根据每个服务端点和每个代理对其进行管理 这也意味着,如果每次调用都终止并重新

我是新的wcf,需要一些澄清,我在一个项目中有多个wcf服务(假设service01-service05采用每会话模式),现在我想知道何时创建客户端并调用service01,然后调用service02等等,是创建单个会话还是session01,session02(对于每个服务单独的会话)等等


如果是单独的会话,那么在调用multile服务时如何处理单个会话。

每个WCF服务实例将有一个会话。WCF将会话状态保存在内存中,并根据每个服务端点和每个代理对其进行管理


这也意味着,如果每次调用都终止并重新创建一个新的代理实例,则会丢失会话状态。

好的,我知道了,但是如果我想为多个服务维护一个会话,那么我该怎么办?要实现功能(企业级项目),还有一件事要做,那就是创建多个服务,或者只创建一个具有多个接口的服务。我主要关心的是可伸缩性。您不能为多个服务维护单个会话,因为WCF管理每个服务端点、每个代理的会话状态。拥有多个服务意味着拥有多个端点(每个服务至少有一个端点),因此多个服务不能共享会话状态。您可能要做的是,不将状态存储在会话数据中,而是存储在DB或缓存机制中,然后在服务方法调用中传递会话ID。不过,您需要一种方法来确保会话数据得到清理。