国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP定時組件

2019-11-18 22:08:04
字體:
來源:轉載
供稿:網友
asp中我們為完成某些特定功能時,需要延遲輸出,讓腳本運行更長的時間,比如說聊天室程序,我們知道更新對話內容有兩種方法,一是
客戶端自動刷新,每隔一段時間向服務器查詢一次,看看有沒有新的內容,而另一種就是服務器主動輸出新的內容,這兩
種辦法的優缺點很明顯,前者內容不夠實時性,但對服務器的負擔較輕,而后一種,由于需要長時間在服務器上執行腳
本,因此人數多的時侯,當然是一種累服務器的工作了。
  針對后一種應用,我們需要延遲ASP的執行,但又不能空占用服務器資源,比如說加個無窮循環下去,這樣的話很快就
把你的CPU吃掉了,只有在循環中加如一個定時功能,讓每個循環可以掛起一定是時間,那么這段時間CPU是空閑的,這樣
才不致于讓CPU“當”了機
  先看這個例子http://chat.aaaaa.com.cn/question/disptest.asp,看看它象不象碧海銀沙那類的聊天室的更新訪
式?
  ASP中沒有setTimeout這類的定時語句,我們需要利用ASP組件來解決,同樣,可以采用VB6來編制,具體操作方法參考
上一編組件的做法,為了掛起線程,我們需要運用WIN32API函數Sleep,同樣新建一個Active Dll工程,起名字為Timer,
類名為sleep。
  sleep這個WIN32API函數可以用VB6自帶的API文本瀏覽器中找到它的聲明方法
  現在類sleep的程序如下,這個組件程序很簡單的,我不多解說了。
PRivate Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private m_set As Long
Public Property Get setup() As Long
  setup = m_set
End Property
Public Property Let setup(strset As Long)
  m_set = strset
End Property
Public Function Sleeptime()
  Sleep (setup)
End Function


  把它編譯一下,就生成timer.dll這個組件dll,如果您不會寫VB程序,那么您也可以在下載的文件包里找到timer.dll
這個文件。把它copy到windows目錄下,在MS-DOS方式中輸入
  c:/windows/regsvr32 timer.dll
  完成組件注冊,同樣可以使用這個定時組件。
  現在解說剛才按個列子的ASP調用文件。看看這個組件如何使用
*定時器的應用
<html>
<title>定時器的應用</title>
<head>
</head>
<body>
<%
‘這個是腳本執行時間,默認為90秒,需要改長一點,不然在90秒后程序會被中斷'3600為一小時
Server.ScriptTimeOut=3600
set obj=server.createobject("timer.sleep")
'參數1000為線程掛起一秒鐘,可以隨意設定
obj.setup=1000
do while true
  response.write "("&right(Time,8)&")  您好,現在計數值為<font color=red>"&application("time_count")
&"</font><br>"
  obj.sleeptime
  application("time_count")=application("time_count")+1

  If Not Response.IsClientConnected Then
    set obj=nothing
    session.abandon
  End If

loop

%>

</body>
</html>


  好了,我把上面的代碼打包,大家看看這個組件對您自己有什么幫助吧,可能一定用處也沒有,但也可能很有用處,

以上組件的運行環境為:Pwin98+Pws4

           NT40+IIS40



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阳信县| 静宁县| 石楼县| 随州市| 隆德县| 元朗区| 杂多县| 嘉义县| 三亚市| 泰兴市| 萨嘎县| 宁海县| 九江县| 盐亭县| 保山市| 施甸县| 平利县| 文昌市| 武穴市| 庆城县| 台中县| 麦盖提县| 邵阳县| 白银市| 滕州市| 西昌市| 望江县| 大安市| 新源县| 兴隆县| 新平| 分宜县| 蛟河市| 青铜峡市| 本溪市| 辉南县| 安溪县| 乡宁县| 改则县| 临海市| 尖扎县|