【发布时间】:2017-09-07 12:26:18
【问题描述】:
在 PHP 中,我可以通过使用 Session_id() 作为设置器来选择使用特定的 Session。
Classic ASP/VBScript 中是否有类似的功能?我有一个 VBScript 站点,根据页面的不同,它要么直接从浏览器调用,要么通过 HTTP 在内部调用。不幸的是,ASP 将它们视为两个单独的会话,因为用户的计算机调用一个,而服务器本身调用另一个。我想告诉服务器调用,“嘿,使用 Session 123456”,这样它就可以直接与调用页面的用户共享信息。
有什么建议吗?有什么方法可以更改或命名页面上使用的 Session?
【问题讨论】:
-
你能举个例子吗?服务器调用也不会与浏览器共享 cookie...
-
ASP的Session没有这样的内置方法。但是您可以在内部请求中手动设置
cookie标头(通过从Request.ServerVariables("ALL_RAW")或类似的方式解析会话cookie 的值)。 -
您从哪里提出内部请求?询问因为,如果两者都是 ASP,就会发生死锁。
-
这可能行得通。所以...获取 VBScript 会话 ID,然后在我发出内部请求时手动传递相同的 cookie。不错的方法。有关的? stackoverflow.com/questions/7331172/…
-
:) 没有简单的方法告诉服务器“嘿,使用会话 #1”。因为 ASP 的会话存储在进程中并且访问是单线程的。当请求与会话 #1 一起工作时,您无法从其他请求访问会话 #1,从而发生死锁并最终发生请求超时。但是很容易从其他地方访问。 PHP 例如stackoverflow.com/a/37060660
标签: asp-classic