Asp定時執行操作 Asp定時讀取資料庫(網頁定時操作詳解)

來源:互聯網
上載者:User

目前定時的操作有:
一、Html頁面的定時重新整理(Refresh--重新整理 )
1,Refresh (重新整理) 代碼使用說明
   說明:讓網頁多長時間(秒)重新整理自己,或在多長時間後讓網頁自動連結到其它網頁。
   用法:<Meta http-equiv="Refresh" Content="30">
      <Meta http-equiv="Refresh" Content="5; Url=http://www.jb51.net">
   注意:其中的5是指停留5秒鐘後自動重新整理到URL網址
2,如何定時操作
你可以在同一個頁面重複重新整理,以達到定時操作的效果。
如:<meta http-equiv="refresh" content="5;URL=http://www.jb51.net">
缺點:要在瀏覽器開啟頁面,不能關閉。
二、Javascript裡面的setTimeout 和 setInterval
1,setTimeout 和 setInterval的區別
  window對象有兩個主要的定時方法,分別是setTimeout 和 setInteval 他們的文法基本上相同,但是完成的功能取有區別。
  setTimeout方法是定時程式,也就是在什麼時間以後幹什麼。幹完了就拉倒。
  setInterval方法則是表示間隔一定時間反覆執行某操作。
  如果用setTimeout實現setInerval的功能,就需要在執行的程式中再定時調用自己才行。如果要清除計數器需要 根據使用的方法不同,調用不同的清除方法:
例如:tttt=setTimeout('hello()',1000);
clearTimeout(tttt);
或者:
tttt=setInterval('hello()',1000);
clearInteval(tttt);
2,如何定時操作
比如要定時開啟頁面 Test.asp(當然Test.asp可以是讀取資料庫,產生靜態頁面......) 複製代碼 代碼如下:<script language="JavaScript" type="text/javascript">
<!--
function hello(){
window.open('Http://www.jb51.net')
}
window.setTimeout(hello(),5000);
//-->
</script>

缺點:要在瀏覽器開啟頁面,不能關閉。
三,ASP使用VB寫的定時組件
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>定時器的應用(From:Http://www.jb51.net)</title>
<head>
</head>
<body>
<%
‘這個是指令碼執行時間,預設為90秒,需要改長一點,不然在90秒後程式會被中斷'3600為一小時
Server.ScriptTimeOut=3600
set obj=server.createobject("timer.sleep")
'參數1000為線程掛起一秒鐘,可以隨意設定
obj.setup=1000
do while true
  
  obj.sleeptime
  '執行定時操作,
  If Not Response.IsClientConnected Then
    set obj=nothing
    session.abandon
  End If
loop
%>
</body>
</html>

優點:在這裡只是隨便用VB寫了一個測試的dll,但是用VB肯定可以在dll裡面寫一個定時執行的操作。
缺點:感覺VB寫的這個dll可能會優點佔資源。
四,結合電腦的任務計劃的定時操作,我個人認為是目前最好的方法。
這個個人感覺是目前實現定時操作的最好方法。
就是先在伺服器上寫好要定時操作的頁面,如Test.asp
然後寫一個vbs檔案,如下: 複製代碼 代碼如下:Dim IE
Set IE = CreateObject("InternetExplorer.Application")
'運行你的 URL
ie.navigate("http://www.jb51.net")
ie.visible=1
'Clean up...
Set IE = Nothing

1,可以在伺服器使用“任務計劃”
2,也可以在客戶機使用“任務計劃”
具體使用“任務計劃”的使用,請參考http://www.pclala.com/Pc/Skill/200851912807.Html
優缺點:頁面會定時的彈出頁面Test.asp,但是會有一個解決方案,就是在Test.asp頁面加入定時關閉代碼: 複製代碼 代碼如下:<script LANGUAGE="JavaScript">
<!--
setTimeout('window.close();', 500);
// -->
</script>

總結,由於目前部分網頁語言的限制,在定時操作上有一定的困難,但是經過我多次的求證,發現第四種方法無疑是效果最好的,最省心的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.