asp 페이지 작성시, sleep함수를 쓴듯한 효과를 보고싶거나 '일시정지'가 필요할때.
MS-sql 서버를 사용한다면 다음의 소스를 이용하여 딜레이 효과를 낼수 있다.
위 소스에서 같이 사용된 몇가지 명령어가 있는데
WAITFOR DELAY는 지정한 시간(시:분:초)동안 명령의 실행을 지연시킨다.
commandTimeout 은 사용된 명령의 수행시간이 너무 오래 걸리거나 할경우, 만료시간을 주어 명령을 종료시키는 명령.
위의 예제를 상세히 설명하자면, sql문에서 waitfor delay를 통해 10초가 지난후 명령을 실행시킨다. 하지만 위 소스에서는 어떠한 명령도 없으므로, DB는 계속해서 명령을 기다리는 상태.
이상태에서 5초가 더 지나게되면 commandTimeout 으로 설정해준 만료시간 15초가 다 지나서 해당 명령이 종료되고 커넥션을 끊고 이후의 asp페이지의 코드들이 실행된다.
즉 asp 코드의 실행전 15초의 딜레이를 주는 스크립트.
다른 방법으로 다음과 같은 방법을 추천하는 사람들이 있는데
매우매우 안좋다고 한다.
cpu의 사용량과 pagefault를 엄청나게 발생시키기 때문이라고...
원본 : http://classicasp.aspfaq.com/general/how-do-i-make-my-asp-page-pause-or-sleep.html
MS-sql 서버를 사용한다면 다음의 소스를 이용하여 딜레이 효과를 낼수 있다.
<% Set conn = CreateObject("ADODB.Connection") conn.Open "" ' 0 ~ 59 사이의 초수를 지정 합니다. sleep = 10 ' 명령완료가 안될경우를 대비하여, 타임아웃을 잡아줍니다. conn.commandTimeout = sleep + 5 ' 59초이상의 딜레이가 필요하면 다음의 sql문을 수정하십시오. 또한 당신의 필요에 따라 sql문을 작성하면됩니다. sql = "WAITFOR DELAY '00:00:" & right(clng(sleep),2) & "'" Response.Write(now & " ") conn.Execute sql,,129 Response.Write(now & "
") conn.close: Set conn = Nothing %>
위 소스에서 같이 사용된 몇가지 명령어가 있는데
WAITFOR DELAY는 지정한 시간(시:분:초)동안 명령의 실행을 지연시킨다.
commandTimeout 은 사용된 명령의 수행시간이 너무 오래 걸리거나 할경우, 만료시간을 주어 명령을 종료시키는 명령.
위의 예제를 상세히 설명하자면, sql문에서 waitfor delay를 통해 10초가 지난후 명령을 실행시킨다. 하지만 위 소스에서는 어떠한 명령도 없으므로, DB는 계속해서 명령을 기다리는 상태.
이상태에서 5초가 더 지나게되면 commandTimeout 으로 설정해준 만료시간 15초가 다 지나서 해당 명령이 종료되고 커넥션을 끊고 이후의 asp페이지의 코드들이 실행된다.
즉 asp 코드의 실행전 15초의 딜레이를 주는 스크립트.
다른 방법으로 다음과 같은 방법을 추천하는 사람들이 있는데
<% Response.Buffer = true Function WaitFor(SecDelay,ShowMsg) timeStart = Timer() timeEnd = timeStart + SecDelay Msg = "Timer started at " & timeStart & "
" Msg = Msg & "Script will continue in " i = SecDelay Do While timeStart < timeEnd If i = Int(timeEnd) - Int(timeStart) Then Msg = Msg & i If i <> 0 Then Msg = Msg & ", " If ShowMsg = 1 Then Response.Write Msg %> <% Response.Flush() %> <% Msg = "" i = i - 1 End if timeStart = Timer() Loop Msg = "...
Slept for " & SecDelay & " seconds (" & _ Timer() & ")" If ShowMsg = 1 Then Response.Write Msg End Function Call WaitFor(20,0) Call WaitFor(3,1) %>
매우매우 안좋다고 한다.
cpu의 사용량과 pagefault를 엄청나게 발생시키기 때문이라고...
원본 : http://classicasp.aspfaq.com/general/how-do-i-make-my-asp-page-pause-or-sleep.html
'WEB > ASP' 카테고리의 다른 글
[ASP] abcupload를 이용한 파일 업로드. (1) | 2011.12.07 |
---|---|
[ASP] IIS 인코딩 설정 관련 UTF-8 한글 깨짐 문제 (0) | 2011.12.07 |
[ASP] IIS사이트 설정시 신경써야 할 부분들(부모경로 등, 중간중간 업데이트) (0) | 2011.10.24 |
[ASP] Windows7 IIS 설정 몇가지. (0) | 2011.10.19 |
[ASP] 저장프로시저 사용시 parameters (0) | 2011.10.19 |