【发布时间】:2016-08-03 05:51:40
【问题描述】:
我正在尝试编写单个脚本源与不同数据库通信但数据库名称来自子域名的小脚本。目前我做了以下测试并遇到问题,无法自行修复。问题是,当一个用户在浏览器中打开许多子域选项卡时,持续 90 秒或 2 分钟,第一个请求的响应将与另一个所有请求的响应相同。
例如网址:
http://user1.domains.com/subdomaintest.asp
https://user1.domains.com/subdomaintest.asp
http://user2.domains.com/subdomaintest.asp
http://user3.domains.com/subdomaintest.asp
http://user4.domains.com/subdomaintest.asp
http://user5.domains.com/subdomaintest.asp
首先我打开http://user1.domains.com/subdomaintest.asp 然后打开http://user2.domains.com/subdomaintest.asp 并得到相同的响应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
我在 HTTP HEADER 上做了很多阅读,并找出了 Request.ServerVariables("SERVER_NAME") 和 Request.ServerVariables("HTTP_HOST") 的区别。
response.write Request.ServerVariables("SERVER_NAME")
response.write Request.ServerVariables("HTTP_HOST")
但这对我没有帮助。我也尝试过响应cookie,但它是一样的。似乎 IIS 不在乎我从不同的子域请求 2 分钟。这是为什么呢?
关于服务器:IIS10,sessionstate false(我没有使用),64bit。相关的任何信息,你可以问我。
任何人帮助我,非常感谢你提前!请帮忙!
【问题讨论】:
-
您是否使用了从域 user1 到 user2 的任何 URL 重定向或 URL 重写?
标签: session vbscript asp-classic iis-7.5 iis-10