我已经做了很多寻找会删除会话变量的代码,并且我已经取得成功的关闭是:
<cfset StructDelete(Session,"username")>
它第一次工作,然后再也不会工作了。我花了这么多时间才开始疯狂,任何帮助都会非常感激。
我不确定这是否相关但是当我因某种原因修改.cfm时,它似乎并不总是立即“更新”。我的意思是,我会更改页面,访问它,它不会使用新代码。试图调试时这是一个恐怖...
答案 0 :(得分:5)
我怀疑你的意思是它重新存在并且你认为它应该消失了。寻找设置变量的任何“cfparams”。它可能会被删除,然后重新启动下一个请求。
您还可以添加一个布尔值,以便在删除它时检查它是否存在。
<cfset exists= structdelete(session, 'username', true)/>
如果存在则会显示“是”,如果不存在则显示“否” - 如果您愿意,可以执行更多逻辑。
您还可以查看您的应用程序名称,会话超时值onsessionStart()等。我已经看到了每个请求实例化新会话的问题。
答案 1 :(得分:0)
我只是通过cfset会话变量来杀死它......
<cfset session.allowin = "False">
application.cfm文件总是在寻找真实的......