在 ASP 中,未初始化的会话变量为空。我知道检查 Session 值和删除值的正确方法如下:
IF NOT IsEmpty(Session("myVar")) THEN
' Go ahead and use Session("myVar")
...
' Now if we're all done with myVar then remove it:
Session.Contents.Remove("myVar")
END IF
我继承了一个代码库,其中 Application 和 Session 变量通常= ""
在使用后设置,并且所有值的测试都采用(Sessions("myVar") = "")
. 当尚未声明 Session 变量时,此测试似乎有效......或者它可能只是靠运气。
使用与空字符串进行比较来测试 Session 变量是否安全?即,以下“实际上与上面显示的正确方法一样好”吗?
IF Session("myVar") <> "" THEN
' Go ahead and use Session("myVar")
...
' Now if we're all done with myVar then blank it:
Session("myVar") = ""
END IF
或者我应该重构代码库,以便:
- 确定是否已设置 Session 变量的所有测试均采用以下形式
IsEmpty(Session("myVar"))
- 所有会话变量都是
Remove
d 且未设置= ""
?