我可以调用来确定我的 session 在 gsoap 客户端中是否仍然存在吗?
我认为检查 session 是否仍然存在的唯一方法是在每次 SOAP 调用后检查所有 cookie 值是否匹配。似乎 gsoap 会知道 session 处于事件状态,因为设置了 tcp_keep_alive 标志。 gsoap 中是否有功能允许我在 SOAP 调用之前检查这一点?是否有回调通知我 session 丢失?或者我应该为此目的制作一个虚拟 SOAP 方法?
最佳答案
您可以使用 Genivia 插件来检查并在 localhost:8080
上创建或更新在任何路径上有效的 session :
soap->cookie_domain = "localhost:8080";
struct soap_session *session = soap_start_session(soap, NULL, NULL);
要创建新的 session 变量或修改该 session 中的现有 session 变量:
soap_set_session_var(soap, "session_var_name", "session_var_value", NULL, NULL);
要访问该 session 变量的值:
const char *value = soap_get_session_var(soap, "session_var_name", NULL, NULL);
要删除该 session 变量:
soap_clr_session_var(soap, "session_var_name", NULL, NULL);
关于session - 如何检测 session 是否有效或过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/331964/