|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;debug|vbscript不晓得用ASP写代码的伴侣是否是和我有一样的感觉,ASP中最头疼的就是调试程序的时分不便利,我想大概良多伴侣城市用如许的办法“response.write”,然后输入相干的语句来看看是不是准确。头几天写了一个千行的页面,内里也许有七八个SUB/FUNCTION,调试的时分用了有三十几个response.write,天,调试完后把这三十个一个个删除,累!
明天看到一个ASP中的Debug类(VBS),试用了一下,尽!
利用办法很复杂:
test.asp
<!--#INCLUDEFILE="debuggingConsole.asp"-->
<%
output="XXXX"
Setdebugstr=NewdebuggingConsole
debugstr.Enabled=true
debugstr.Print"参数output的值",output
……
debugstr.draw
Setdebugstr=Nothing
%>
===================================================
debuggingConsole.asp
<%
ClassdebuggingConsole
privatedbg_Enabled
privatedbg_Show
privatedbg_RequestTime
privatedbg_FinishTime
privatedbg_Data
privatedbg_DB_Data
privatedbg_AllVars
privatedbg_Show_default
privateDivSets(2)
Construktor=>setthedefaultvalues
PrivateSubClass_Initialize()
dbg_RequestTime=Now()
dbg_AllVars=false
Setdbg_Data=Server.CreateObject("Scripting.Dictionary")
DivSets(0)="<TR><TDstyle=cursor:hand;onclick=""javascript:if(document.getElementById(data#sectname#).style.display==none){document.getElementById(data#sectname#).style.display=block;}else{document.getElementById(data#sectname#).style.display=none;}""><DIVid=sect#sectname#style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|<DIVid=data#sectname#style=""cursor:text;display:none;background:#FFFFFF;padding-left:8;""onclick=""window.event.cancelBubble=true;"">|#data#|</DIV>|</DIV>|"
DivSets(1)="<TR><TD><DIVid=sect#sectname#style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;""onclick=""javascript:if(document.getElementById(data#sectname#).style.display==none){document.getElementById(data#sectname#).style.display=block;}else{document.getElementById(data#sectname#).style.display=none;}"">|#title#|<DIVid=data#sectname#style=""cursor:text;display:block;background:#FFFFFF;padding-left:8;""onclick=""window.event.cancelBubble=true;"">|#data#|</DIV>|</DIV>|"
DivSets(2)="<TR><TD><DIVid=sect#sectname#style=""background:#7EA5D7;color:lightsteelblue;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|<DIVid=data#sectname#style=""display:none;background:lightsteelblue;padding-left:8"">|#data#|</DIV>|</DIV>|"
dbg_Show_default="0,0,0,0,0,0,0,0,0,0,0"
EndSub
PublicPropertyLetEnabled(bNewValue)[bool]Sets"enabled"totrueorfalse
dbg_Enabled=bNewValue
EndProperty
PublicPropertyGetEnabled[bool]Getsthe"enabled"value
Enabled=dbg_Enabled
EndProperty
PublicPropertyLetShow(bNewValue)[string]Setsthedebuggingpanel.Whereeachdigitinthestringrepresentsadebuginformationpaneinorder(11ofthem).1=open,0=closed
dbg_Show=bNewValue
EndProperty
PublicPropertyGetShow[string]Getsthedebuggingpanel.
Show=dbg_Show
EndProperty
PublicPropertyLetAllVars(bNewValue)[bool]Setswheatherallvariableswillbedisplayedornot.true/false
dbg_AllVars=bNewValue
EndProperty
PublicPropertyGetAllVars[bool]Getsifallvariableswillbedisplayed.
AllVars=dbg_AllVars
EndProperty
******************************************************************************************************************
@SDESCRIPTION:Addsavariabletothedebug-informations.
@PARAM:-label[string]:Descriptionofthevariable
@PARAM:-output[variable]:Thevariableitself
******************************************************************************************************************
PublicSubPrint(label,output)
Ifdbg_EnabledThen
iferr.number>0then
calldbg_Data.Add(ValidLabel(label),"!!!Error:"&err.number&""&err.Description)
err.Clear
else
uniqueID=ValidLabel(label)
response.writeuniqueID
calldbg_Data.Add(uniqueID,output)
endif
EndIf
End</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失; |
|