|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件sessionsession_onend是对照难调试的,这是由于:
1、没有堕落信息提醒(这也难怪,是没有中央提醒的,基本不晓得要将堕落提醒信息放到甚么中央往)。
2、年夜多半情形下,也不克不及利用session.abandon来手工开释sesion举行调试――你开释了一切的session,那你在session_onend中不要用到session工具吗?以是,只好傻的守候session超时了。还好,session超不时域能够本人设,调试时设小点,好比2分钟或1分钟的。
3、假如你只要一台电脑,那就更难调试了,缘故原由不必我说了吧。
上面我给人人说说我在调试session_onend时的一点点履历:
1、不要嫌疑你的session_onend没有实行(实在入手下手时我也已经嫌疑过,由于总信任本人的session_onedn事务没有错),常听有些人埋怨:“怎样我的session_onend没有实行,session_onstart是好好的”,固然了,session_onstart简单看到嘛。
假如你不信的话,你将一个标志放到session_onend的第一行。
subsession_onend
application("flag1")="session_onend已实行了"
…………前面是你的session_onend的内容
endsub
然后等session超时后,用apptest.asp?key=flag1(apptest.asp前面附有)检察application("flag1")的值,你一定能看到“session_onend已实行了”。
以是,一旦你的session_onend没有到达你的目标时,应当检查你的session_onend事务有无写好――跟asp文件一样,session_onend一旦碰到毛病,即刻中断实行……
2、写session_onend事务时必定要细心,要包管每一个字每都不会错,包管不呈现语法,不呈现逻辑毛病。这个只能你的眼睛和头脑能帮上你。
上面是我在调试谈天室的session_onend事务时的办法,供年夜学参考:
我鄙人面的程序中设了几个标志:flag1,flag2,flag3,flag4,flag5
<SCRIPTLANGUAGE="VBScript"RUNAT="Server">
subSession_onEnd
ip=session("userip")
application("flag1")=ip――标志flag1
chatdata=application("chatdata")
onliuser=application("onliuser")
kicklist=application("kicklist")
uleave=false
fori=0to50
ifchatdata(i,1)=ipthen
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
endif
next
kicklist=replace(kicklist,","&ip&"","")
application("flag3")="kicklist的值为:"&kicklist――标志flag3
ifuleavethen
fori=0to50
chatdata(i,4)=(chatdata(i,4)mod4)+4
next
application("flag4")="实行了关照更新名单"――标志flag4
endif
application("flag5")="第4标记"――标志flag5
application.lock
application("kicklist")=kicklist
application("onliuser")=onliuser
application("chatdata")=chatdata
application.unlock
application("flag6")="实行了application变量更新"――标志flag6
endsub
</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")
ifkeyd=""then
response.writeapplication(key)
response.end
endif
username=application(key)
selectcasekeyd
case"2"
fori=0to50
forj=0to5
response.writeusername(i,j)&chr(13)&chr(10)
next
next
case"1"
</p>实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。 |
|