【发布时间】:2017-04-25 01:36:48
【问题描述】:
下面是我的经典 ASP 应用程序的服务器端 ASP 代码:
Function isValidPACSSession()
...
Dim sessionID : sessionID = Request.QueryString("forSessionID")
isValidPACSSession = SessionID2PACSUserID(sessionID)
...
End Function
Function SessionID2PACSUserID(sSessionID)
if (Not IsNull(sSessionID) AND Len(sSessionID) > 0) then
...it fails here at the Len function.
else
...
end if
End Function
Len() 函数针对这个特定实例抛出“类型不匹配”错误,而其他组件对 SessionID2PACSUserID() 的其他调用很好。请帮忙。
【问题讨论】:
-
如果
Request.QueryString("forSessionID")为null会失败,请确保不是通过sessionID = Request.QueryString("forSessionID") & ""或Len(sSessionID & "")这个小技巧(个人更喜欢在设置我的变量时这样做)。更大的问题是,为什么你将 sessionID 作为查询字符串传递? -
这是问题,我检查了调试器 Request.QueryString("forSessionID") 的值为 String 类型的“F50DAA7A37494A51A0A157D917FACF891129”。仍然 len() 函数抛出类型不匹配错误。
-
你是怎么调试的?另外,您是否尝试过这些建议,无论是否有所作为?至少尝试一下,这样可以消除它,我们尝试其他方法,假设可能是一个问题。
-
我正在使用 Visual Studio 2010 进行调试。我已经尝试按照您的建议通过修改 SessionID2PACSUserID() 函数来测试代码,但它仍然不起作用。顺便说一句,它的所有服务器端经典的 asp 代码。
标签: vbscript asp-classic