Session 如何从当前URL ASP Classic查找子域

Session 如何从当前URL ASP Classic查找子域,session,vbscript,asp-classic,iis-7.5,iis-10,Session,Vbscript,Asp Classic,Iis 7.5,Iis 10,我试图编写一个小脚本,单个脚本源与不同的数据库通信,但数据库名称来自子域名。目前我做了下面的测试,有问题,无法自己解决。问题是,当一个用户在浏览器中打开多个子域选项卡90秒或2分钟时,第一个请求的响应将与另一个所有请求的响应相同 例如URL: 首先,我打开,然后打开,我得到了相同的响应h1text(user1),这是不期望的。它必须以user2响应h1text。假设我在2分钟后打开第二个url,然后响应user2,这很好。而且GUID是相同的,似乎与响应的工作方式相同 我想要的是,响

我试图编写一个小脚本,单个脚本源与不同的数据库通信,但数据库名称来自子域名。目前我做了下面的测试,有问题,无法自己解决。问题是,当一个用户在浏览器中打开多个子域选项卡90秒或2分钟时,第一个请求的响应将与另一个所有请求的响应相同

例如URL:

首先,我打开,然后打开,我得到了相同的响应h1text(user1),这是不期望的。它必须以user2响应h1text。假设我在2分钟后打开第二个url,然后响应user2,这很好。而且GUID是相同的,似乎与响应的工作方式相同

我想要的是,响应必须始终依赖于子域名随时,而不是2分钟后。如果这是IIS问题,它是什么?我可以在哪里更改它?另外,如何在浏览器选项卡和/或会话中实现GUID

代码如下:

'ServerName = Request.ServerVariables("HTTP_HOST")
ServerName = Request.ServerVariables("SERVER_NAME")
arrSplitted = Split(ServerName, ".")
SubDomain = arrSplitted(0)
'response.write(SubDomain)
response.write "<h1>" & SubDomain & "</h1>"
Response.Write "<h1>"& CreateGuid() &"</h1>"
Function CreateGuid()
    CreateGuid = Mid(CreateObject("Scriptlet.TypeLib").Guid,2,36)
End Function
但这对我没有帮助。我也尝试过响应cookie,但都是一样的。似乎IIS不在乎我从不同的子域请求2分钟。为什么呢

关于服务器:IIS10,sessionstateflse(我没有使用),64位。你可以问我任何相关的信息


任何人都可以帮助我,提前非常感谢!请帮忙

我想你几乎每件事都做对了

但是,我想你弄乱了位置。您只需要检查一级子域,该子域的索引
UBound(X)-1

0那么
响应。写入“
顶级域是:”&LNames(UBound(LNames)) 响应。写入“
第一级子域为:”&LNames(UBound(LNames)-1) 如果结束 如果UBound(LNames)>2,则 响应。写入“
第二级子域为:”&LNames(UBound(LNames)-2) 响应。写入“
第三级子域为:”&LNames(UBound(LNames)-3) 如果结束 如果结束 %>
我想你几乎每件事都做对了

但是,我想你弄乱了位置。您只需要检查一级子域,该子域的索引
UBound(X)-1

0那么
响应。写入“
顶级域是:”&LNames(UBound(LNames)) 响应。写入“
第一级子域为:”&LNames(UBound(LNames)-1) 如果结束 如果UBound(LNames)>2,则 响应。写入“
第二级子域为:”&LNames(UBound(LNames)-2) 响应。写入“
第三级子域为:”&LNames(UBound(LNames)-3) 如果结束 如果结束 %>
我自己发现了问题

web服务器是IIS10,它支持通配符竞价,我对该网站使用了许多80和443次竞价,包括通配符子域和live网站。所有这些都在一个文件夹中,网站有一个应用程序池和一些其他配置

问题在于会话。

我读了这么多的文章,寻找解决方案,但没有一篇有效。然后我确定这是会话问题,并尝试使用不同的网站进行测试。是的,为测试创建了不同的应用程序池和网站。经过测试,一切正常


问题出在会话中,而不是代码。

我自己发现了问题

web服务器是IIS10,它支持通配符竞价,我对该网站使用了许多80和443次竞价,包括通配符子域和live网站。所有这些都在一个文件夹中,网站有一个应用程序池和一些其他配置

问题在于会话。

我读了这么多的文章,寻找解决方案,但没有一篇有效。然后我确定这是会话问题,并尝试使用不同的网站进行测试。是的,为测试创建了不同的应用程序池和网站。经过测试,一切正常


问题出在会话中,而不是代码中。

您是否使用了从域user1到user2的URL重定向或URL重写?是否使用了从域user1到user2的URL重定向或URL重写?谢谢您的回复。但这是同样的问题。我只是复制粘贴了你的代码并刷新了我所有打开的标签,子域名是一样的。我也相信代码、我的代码或你的代码没有问题。但我找不到问题所在。为什么iis只响应第一个请求的正确响应?非常奇怪。链接到我的家庭服务器上的我的代码:
http://1click.sdk.1click.lv/test.asp
http://x2.sdk.1click.lv/test.asp
。使用很少绑定名称的同一网站。64位OSA上的IIS 7.5这两个链接/文件是否在同一个文件和目录中?真的很奇怪。我在5秒钟内打开了你的链接,它们的响应都是正确的。那为什么我的不是呢?谢谢你的回复。但这是同样的问题。我只是复制粘贴了你的代码并刷新了我所有打开的标签,子域名是一样的。我也相信代码、我的代码或你的代码没有问题。但我找不到问题所在。为什么iis只响应第一个请求的正确响应?非常奇怪。链接到我的家庭服务器上的我的代码:
http://1click.sdk.1click.lv/test.asp
http://x2.sdk.1click.lv/test.asp
。使用很少绑定名称的同一网站。64位OSA上的IIS 7.5这两个链接/文件是否在同一个文件和目录中?真的很奇怪。我在5秒钟内打开了你的链接,它们的响应都是正确的。那为什么我的不是呢?
response.write Request.ServerVariables("SERVER_NAME")
response.write Request.ServerVariables("HTTP_HOST")