Asp객체 & 전역변수(global.asa) > 기술자료 | 해피정닷컴

Asp객체 & 전역변수(global.asa) > 기술자료

본문 바로가기

사이트 내 전체검색

Asp객체 & 전역변수(global.asa) > 기술자료

ClassicASP Asp객체 & 전역변수(global.asa)

페이지 정보


본문

1. Asp 객체
Request
Response
Server
Application   클라이언트에 공통으로 적용(=DB)
Session       클라이언트에 개별적으로 적용
 
 
2. 전역변수 (파일공유 전역변수) : 모든페이지에 적용됨
 
전역변수를 적용 할 수 있는 객체는 Application / Session 객체가 있다!
Application 클라이언트에 공통으로 적용(=DB)
Application("변수명")
 
Session 클라이언트에 개별적으로 적용
Session("변수명")   // 기본20분 유지
 
session.sessionid
클라이언트 브라우저 접속시 할당되는 id값으로 브라우저가 닫힐때 소멸된다.! (장바구니 기능등...에 용이)
 
Application & Session - 전역변수 설정 유지
세션초기값 설정페이지 - global.asa 로 작성
 
이벤트로 제어
초기값 부여할때 쓰이는 global.asa 는 처음접속시 있으면 거쳐가고 없으면 그냥 무시하고 접속하게 된다.
 
 
3. global.asa
3-1. 자바스크립트
function 함수명(){
  return 값;
}
 
3-2. VB스크립트
function 함수명()    // 리턴할수 있음
end function
 
Sub 함수명()    // 리턴할수 없음
End Sub
 
 
4. global.asa 예제
<script language=VBscript runat=Server>  'runat=Server"는 서버에서 돌아가라는 뜻!
Sub Application_OnStart  '최초 클라이언트의 접속
  '어플리케이션 변수 설정시작
  '필요없으시면 빼도 됩니다.
  Application.Lock
  Application.contents("current_user") = 0
  Application.Unlock
End Sub
 
 
Sub Session_OnStart  '개인별 클라이언트의 접속
  Session.Timeout=30 '유지시간설정 (기본은 20분)
  'Session("uid")="guest" 
  'static_table = "ccssof_static"
 
  '연결개체 생성
  Set db = Server.CreateObject("ADODB.Connection")
  db.provider = "SQLOLEDB.1" 'SQL서버를 쓴다면 보통 이렇게 쓴다.
  db.Open("Persist Security Info=False;User ID=디비ID;password=디비PW;Data Source=디비IP")
  db.defaultDatabase = "디비name"
 
  '회원통계테이블에서 오늘날짜에 현재시간에 저장되어있는 레코드가 있는지 알아보는 쿼리
  SQL = "SELECT * FROM "&static_table
  SQL = SQL&" WHERE s_year= year(getdate())"
  SQL = SQL&"and s_month=month(getdate()) and s_day = day(getdate()) and s_time = datepart(hh,getdate())"
 
  Set rs= Server.CreateObject("ADODB.Recordset")
  '###레코드 셋 열기
  rs.Open SQL,db
  If rs.eof or rs.bof Then '오늘날짜와 현재시간에 해당하는 레코드가 없다면 레코드 추가
    SQL = "INSERT INTO "&static_table&" DEFAULT VALUES "
  ELSE '아니면 해당레코드에 카운드 1증가
    s_idx = rs("s_idx")
    SQL = "UPDATE "&static_table
    SQL = SQL & " SET s_count=s_count + 1 WHERE s_idx="&s_idx
  End If
  rs.close
  Set rs = nothing
 
  '#### 연결객체를 이용한 쿼리실행(빠른실행을 위해 레코드셋객체를 만들지 않음)
  db.Execute SQL
  db.close
  Set db = nothing
 
  '현재 접속자수 계산 루틴
  '필요없다면 다음 루틴 제거
  If isnull(Application.contents("current_user")) Then
    Application.Lock
    Application.contents("current_user") = 1
    Application.UnLock    
  Else
    Application.Lock    
    Application.contents("current_user") = Application.contents("current_user") + 1
    Application.Lock        
  End If
End Sub
 
 
Sub Session_OnEnd   '개인별 클라이언트의 접속종료
  '현재 접속자수 계산 루틴
  '필요없다면 다음 루틴 제거
  
  If isnull(Application.contents("current_user")) Then
    Application.Lock
    Application.contents("current_user") = 0
    Application.Unlock
  Else
    Application.Lock
    Application.contents("current_user") = Application.contents("current_user") - 1
    Application.UnLock
  End If
End Sub
 
Sub Application_OnEnd  '최종 클라이언트의 접속
End Sub
</script>
 
 
참고자료

댓글목록

등록된 댓글이 없습니다.


Total 198건 9 페이지
  • RSS
기술자료 목록
38
ClassicASP   12250  2008-04-24 11:47 ~ 2012-03-24 00:00  
37
ClassicASP   14559  2008-04-23 22:02 ~ 2015-02-03 00:00  
36
ClassicASP   14353  2008-04-17 22:30 ~ 2013-06-19 00:00  
35
ClassicASP   18530  2008-04-16 22:54  
34
ClassicASP   19169  2008-04-04 04:45  
33
ClassicASP   12799  2008-03-29 16:40  
열람
ClassicASP   26988  2008-03-24 17:55 ~ 2012-05-18 00:00  
31
ClassicASP   12851  2008-03-21 08:36  
30
ClassicASP   30340  2008-03-14 14:53 ~ 2018-03-24 04:08  
29
ClassicASP   13918  2008-03-13 08:04  
28
ClassicASP   12019  2008-03-13 07:31  
27
ClassicASP   30469  2008-03-09 18:44 ~ 2018-05-15 14:37  
26
ClassicASP   23272  2008-03-08 10:40 ~ 2013-11-28 00:00  
25
ClassicASP   25016  2008-03-08 10:34 ~ 2014-07-08 00:00  
24
ClassicASP   10726  2008-01-10 08:48  
23
ClassicASP   27138  2007-12-29 11:18  
22
ClassicASP   10982  2007-12-28 14:42 ~ 2008-10-17 00:00  
21
ClassicASP   22843  2007-09-28 22:39 ~ 2009-11-11 00:00  
20
ClassicASP   11696  2007-09-28 21:47  
19
ClassicASP   17697  2007-09-22 18:30 ~ 2013-12-26 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.