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건 10 페이지
  • RSS
기술자료 목록
18
ClassicASP   41483  2007-08-17 22:13 ~ 2013-10-13 00:00  
17
ClassicASP   13501  2007-08-13 21:12 ~ 2014-01-13 00:00  
16
ClassicASP   12105  2007-07-20 19:41 ~ 2016-09-11 00:00  
15
ClassicASP   14130  2007-07-20 19:04 ~ 2016-08-30 00:00  
14
ClassicASP   20396  2007-07-20 18:45 ~ 2018-06-19 23:34  
13
ClassicASP   13647  2007-03-28 21:49 ~ 2013-12-28 00:00  
12
ClassicASP   37591  2007-03-21 23:15 ~ 2012-05-11 00:00  
11
ClassicASP   15160  2007-01-19 01:09 ~ 2014-09-09 00:00  
10
ClassicASP   18965  2007-01-19 00:00 ~ 2012-05-17 00:00  
9
ClassicASP   14613  2006-10-26 00:42 ~ 2016-08-30 00:00  
8
ClassicASP   16450  2006-08-08 03:59 ~ 2020-01-16 18:42  
7
ClassicASP   27585  2006-06-26 10:13  
6
ClassicASP   39438  2006-06-19 21:33  
5
ClassicASP   13831  2006-06-19 19:12 ~ 2016-03-25 00:00  
4
ClassicASP   15951  2006-06-15 17:37 ~ 2021-10-15 01:09  
3
ClassicASP   28106  2006-06-14 12:33 ~ 2009-01-04 00:00  
2
ClassicASP   37910  2006-06-08 19:41  
1
ClassicASP   15529  2006-05-18 16:22 ~ 2013-05-03 00:00  

검색

해피정닷컴 정보

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

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