|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧准时在ASP中我们为完成某些特定功效时,必要提早输入,让剧本运转更长的工夫,好比说谈天室程序,我们晓得更新对话内容有两种办法,一是
客户端主动革新,每隔一段工夫向服务器查询一次,看看有无新的内容,而另外一种就是服务器自动输入新的内容,这两
种举措的优弱点很分明,前者内容不敷及时性,但对服务器的包袱较轻,尔后一种,因为必要长工夫在服务器上实行脚
本,因而人数多的时侯,固然是一种累服务器的事情了。
针对后一种使用,我们必要提早ASP的实行,但又不克不及空占用服务器资本,好比说加个无量轮回下往,如许的话很快就
把你的CPU吃失落了,只要在轮回中加如一个准时功效,让每一个轮回能够挂起必定是工夫,那末这段工夫CPU是余暇的,如许
才不致于让CPU“当”了机
先看这个例子http://chat.aaaaa.com.cn/question/disptest.asp,看看它象不象碧海银沙那类的谈天室的更新访
式?
ASP中没有setTimeout这类的准时语句,我们必要使用ASP组件来办理,一样,能够接纳VB6来体例,详细操纵办法参考
上一编组件的做法,为了挂起线程,我们必要使用WIN32API函数Sleep,一样新建一个ActiveDll工程,起名字为Timer,
类名为sleep。
sleep这个WIN32API函数能够用VB6自带的API文本扫瞄器中找到它的声明办法
如今类sleep的程序以下,这个组件程序很复杂的,我未几讲授了。
PrivateDeclareSubSleepLib"kernel32"(ByValdwMillisecondsAsLong)
Privatem_setAsLong
PublicPropertyGetsetup()AsLong
setup=m_set
EndProperty
PublicPropertyLetsetup(strsetAsLong)
m_set=strset
EndProperty
PublicFunctionSleeptime()
Sleep(setup)
EndFunction
把它编译一下,就天生timer.dll这个组件dll,假如您不会写VB程序,那末您也能够鄙人载的文件包里找到timer.dll
这个文件。把它copy到windows目次下,在MS-DOS体例中输出
c:windowsegsvr32timer.dll
完成组件注册,一样可使用这个准时组件。
如今讲授方才按个列子的ASP挪用文件。看看这个组件怎样利用
*准时器的使用
<html>
<title>准时器的使用</title>
<head>
</head>
<body>
<%
‘这个是剧本实行工夫,默许为90秒,必要改长一点,否则在90秒后程序会被中止3600为一小时
Server.ScriptTimeOut=3600
setobj=server.createobject("timer.sleep")
参数1000为线程挂起一秒钟,能够随便设定
obj.setup=1000
dowhiletrue
response.write"("&right(Time,8)&") 您好,如今计数值为<fontcolor=red>"&application("time_count")
&"</font><br>"
obj.sleeptime
application("time_count")=application("time_count")+1
IfNotResponse.IsClientConnectedThen
setobj=nothing
session.abandon
EndIf
loop
%>
</body>
</html>
好了,我把下面的代码打包,人人看看这个组件对您本人有甚么匡助吧,大概必定用途也没有,但也大概很有效处,
以上组件的运转情况为:Pwin98+Pws4
NT40+IIS40
</p>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了 |
|