这是有状态web服务/wcf服务吗?

这是有状态web服务/wcf服务吗?,wcf,web-services,stateful,Wcf,Web Services,Stateful,服务层有一个登录方法,该方法接受用户名和密码,如果帐户有效,则返回唯一的会话id(guid) 在随后的请求中,将传递相同的会话id,而不是传递用户名和密码,这也是有状态的或无状态的,因为除了每个请求的身份验证之外,我不需要任何状态信息。客户端连接、交换数据、将其存储在某处并断开连接。在后续连接中,必须将相同的数据传回服务器。这不是有状态的 在有状态连接中,您将连接、验证,然后简单地使用服务。服务器将“记住”您,而无需不断提醒您的会话ID。这绝对是无状态的。我认为它可以被视为有状态的。服务器正在存

服务层有一个登录方法,该方法接受用户名和密码,如果帐户有效,则返回唯一的会话id(guid)


在随后的请求中,将传递相同的会话id,而不是传递用户名和密码,这也是有状态的或无状态的,因为除了每个请求的身份验证之外,我不需要任何状态信息。客户端连接、交换数据、将其存储在某处并断开连接。在后续连接中,必须将相同的数据传回服务器。这不是有状态的


在有状态连接中,您将连接、验证,然后简单地使用服务。服务器将“记住”您,而无需不断提醒您的会话ID。这绝对是无状态的。

我认为它可以被视为有状态的。服务器正在存储有关会话的信息,包括客户端活动(超时等)。我还可以看到这个论点,特别是在Java世界中,无状态和有状态bean的定义更为明确。

在服务器端,会话id将被存储,以便在后续请求中可以对其进行验证是的,但它存储在磁盘上,而不是内存中。此外,客户机需要不断提醒服务器,“嘿,又是我”。这不是有状态的。可以使用存储(例如cookies)伪造状态。然而,安装本身本质上是无状态的。实际上,asp.net中承载的wcf会话将默认存储在内存中的PROC中。@LDAdams:好的,那是我的错。好的,这是一个更快的存储,但仍然需要提醒客户是谁。