在经典 ASP 中设置 SessionId?

Set SessionId in Classic ASP?

在 PHP 中,我可以通过使用 Session_id() 作为 setter.

选择使用特定的会话

Classic ASP/VBScript 中是否有类似的功能?我有一个 VBScript 站点,根据页面的不同,它可以直接从浏览器调用,也可以在内部通过 HTTP 调用。不幸的是 ASP 将它们视为两个单独的会话,因为用户的计算机调用一个而服务器本身调用另一个。我想告诉服务器调用,"Hey, use Session 123456" 以便它可以与直接调用页面的用户共享信息。

有什么建议吗?有什么方法可以更改或命名页面上正在使用的会话?

我不确定我是否正确理解了您的问题。您需要为每个用户分配一个变量吗?为什么不使用应用程序变量?

<%
    x=session.sessionID
    if not instr(application("x"),x)>0 then
       application("x")=application("x") & x &";"
    end if

    aArr=split(application("x"),";")

    for i=0 to ubound(aArr)
        REM this will show you all used session.variables
        response.write aArr(i)&"<br>"
    next
%>

ASP Classic 中没有像 PHP 的 Session_id() 这样的内置方法。

ASP的Session对象有严格的锁定机制保证状态的一致性,所以这可以防止你在同一个应用程序池中使用相同的会话标识符发出额外的请求。

另一方面,很容易实现一个桥接器来与不同平台共享会话状态,例如同一域下的 PHP。