首页   关于我们   网站建设   上海兼职网站制作  兼职网站设计  网站案例   网站知识   联系我们   

浅谈session_onend的调试_QQread.com

发布于:2007-9-30 已被阅读: 次 来源:上兼职海网站建设

     session_onend是比较难调试的,这是因为:    一、没有出错信息提示(这也难怪,是没有地方提示的,根本不知道要将出错提示信息放到什么地方去)。        二、大多数情况下,也不能使用session.abandon来手工释放sesion进行调试——你释放了所有的session,那你在session_onend中不要用到session对象吗?所以,只好傻呼呼的等待session超时了。还好,session超时时域可以自己设,调试时设小点,比如2分钟或1分钟的。    三、如果你只有一台电脑,那就更难调试了,原因不用我说了吧。        下面我给大家说说我在调试session_onend时的一点点经验:    一、不要怀疑你的session_onend没有执行(其实开始时我也曾经怀疑过,因为总相信自己的session_onedn事件没有错),常听有些人抱怨:“怎么我的session_onend没有执行,session_onstart是好好的”,当然了,session_onstart容易看到嘛。    如果你不信的话,你将一个标记放到session_onend的第一行。    sub session_onend      application("flag1")="session_onend已经执行了"      …………后面是你的session_onend的内容    end sub    然后等session超时后,用apptest.asp?key=flag1(apptest.asp后面附有)查看application("flag1")的值,你肯定能看到“session_onend已经执行了”。    所以,一旦你的session_onend没有达到你的目的时,应该检讨你的session_onend事件有没有写好——跟asp文件一样,session_onend一旦遇到错误,马上停止执行……    二、写session_onend事件时一定要仔细,要保证每个字每都不会错,保证不出现语法,不出现逻辑错误。这个只能你的眼睛和思维能帮上你。    下面是我在调试聊天室的session_onend事件时的方法,供大学参考:    我在下面的程序中设了几个标记:flag1,flag2,flag3,flag4,flag5<SCRIPT LANGUAGE="VBScript" RUNAT="Server">sub Session_onEndip=session("userip")application("flag1")=ip      ——标记flag1chatdata=application("chatdata")onliuser=application("onliuser")kicklist=application("kicklist")uleave=falsefor i=0 to 50  if chatdata(i,1)=ip then    kicklist=replace(kicklist,",'#"&chatdata(i,0)&"'","")    onliuser=replace(onliuser,",'"&chatdata(i,0)&"'","")    chatdata(i,0)=""    chatdata(i,1)=""    chatdata(i,2)=0    chatdata(i,3)=""    chatdata(i,4)=0    chatdata(i,5)=""    uleave=true    application("flag2")="找到同ip的聊客"     ——标记flag2  end ifnextkicklist=replace(kicklist,",'"&ip&"'","")application("flag3")="kicklist的值为:"&kicklist  ——标记flag3if uleave then  for i=0 to 50    chatdata(i,4)=(chatdata(i,4) mod 4)+4  next  application("flag4")="执行了通知更新名单"   ——标记flag4end ifapplication("flag5")="第4标志"                ——标记flag5application.lock  application("kicklist")=kicklist  application("onliuser")=onliuser  application("chatdata")=chatdataapplication.unlockapplication("flag6")="执行了application变量更新"   ——标记flag6end sub<网站script>    然后就是开窗口、登录聊天室,关闭浏览器(不要正常退出),等session超时。session超时后(最好在另一台电脑上),用apptest.asp?key=flag6……apptest.asp?key=flag5……apptest.asp?key=flag4……查看各application的值,从而知道我的程序到底执行到了哪里。    除非你看到最后一个标记flag6有值,否则证明你的程序存在语法错误!!    这样可以找到程序在那部分出错,然后再分析有错的那一部分,重复上述步骤,直到你的session_onend达到你的要求。    比如你的flag3的值,但flag2没有值,那就说明在flag2与flag3之间的程序段有语法错误……附:调试程序apptest.asp程序名称:apptest.asp程序功能:查看application变量值调用方法:apptest.asp?key=变量名&keyd=维数,key为要查看的application变量名,keyd为该application变量存放的数组维数。省略keyd时,表示该application变量不是数组。<center>Application变量查看程序<网站center><%key=request("key")keyd=request("keyd")if keyd="" then  response.write application(key)  response.endend ifusername=application(key)select case keydcase "2"for i=0 to 50  for j=0 to 5   response.write username(i,j)&chr(13)&chr(10)  nextnextcase "1"  for i=0 to ubound(username,1)   response.write i&replace(username(i),"<br>","")&"<br>"  nextend select%>软件使用主页创作http:webswuse.yeah.net进入讨论组讨论。 建设 ASP.NET Session详解session和viewstate的比较巧妙破解Session cookie的方法学PHP5:session会话的使用和分析 制作

网站建设相关信息

上兼职海网站建设服务

一、网站建设套餐A型
1个英文.COM域名
80M独立网站空间
25M邮件空间,5个企业邮箱
1个FLASH首页,10个精美内页
网站建设优惠价:面谈

二、网站建设套餐B型
1个英文.COM域名
120M独立网站空间,加75M备份,免费Access数据库
50M邮件空间,10个企业邮箱
1个FLASH首页,20个精美内页
1个新闻发布系统
1个计数器,一个留言板
网站建设优惠价:面谈

三、网站建设套餐C型
1个英文.COM域名
250M独立网站空间,加125M备份,免费Access数据库
100M邮件空间,20个企业邮箱
1个FLASH首页,30个精美内页
一个新闻发布系统
一个产品发布系统
1个计数器,一个留言板
网站建设优惠价:面谈

网站知识

什么是网站运营?
网络营销-网站优化
提高博客人气的方法
整站优化要注意平衡
如何为企业的网站建设准备
高难上海兼职网站制作的心得
什么样网页布局是你最喜欢
一个好的网站建设应该
网页设计师的薪水标准
上海兼职网站制作中心对
保持网站建设制作流量