Web services 为什么';WSF员工';web服务库明确提到;“有状态的”;服务?

Web services 为什么';WSF员工';web服务库明确提到;“有状态的”;服务?,web-services,axis2c,staff-wsf,Web Services,Axis2c,Staff Wsf,我使用构建在ApacheAxis2C库之上的工具来实现一个服务,我希望它是无状态的 据我所知,服务是否有状态(即“是否”)取决于服务体系结构的实现 据我所知,我完全可以使用Staff来创建无状态服务。那么,为什么员工页面明确提到“有状态Web服务实现”?员工库这样做有意义吗?也许它不是真正有状态的 之所以称之为“有状态”是因为:服务器在每个会话中存储服务实例。您的服务可以将本地数据存储为类属性,在会话中工作时,您将拥有相同的数据 当您登录并使用Login服务提供的sessionId时,服务器将创

我使用构建在ApacheAxis2C库之上的工具来实现一个服务,我希望它是无状态的

据我所知,服务是否有状态(即“是否”)取决于服务体系结构的实现


据我所知,我完全可以使用Staff来创建无状态服务。那么,为什么员工页面明确提到“有状态Web服务实现”?员工库这样做有意义吗?

也许它不是真正有状态的

之所以称之为“有状态”是因为:服务器在每个会话中存储服务实例。您的服务可以将本地数据存储为类属性,在会话中工作时,您将拥有相同的数据

当您登录并使用
Login
服务提供的
sessionId
时,服务器将创建(延迟)绑定到此
sessionId
的服务实例。因此,对于两个不同的会话,您将有两个属性值不同的服务实例。如果您处理一些无法在每次调用时初始化和销毁的大型对象,例如测地信息系统,这可能非常有用


无状态Web服务框架通常会为每个客户端调用创建服务实例,任何内容都不能在本地存储,除非您使用一些全局机制,如共享内存或DBMS,并传递一些id来区分一个客户端和另一个客户端。

是的,我的想法基本相同。直到今天我的一位同事向我指出,我才发现我可以在服务对象中添加持久成员变量。所以,正如我所怀疑的,只要我不使用这些持久成员变量来存储任何信息,我的服务实现就会是无状态的。感谢您抽出时间回答。