ASP.NET 프로젝트 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 1. 전체 방문수, 현재 방문수 구하기
글번호: 26
작성자: 레드플러스
작성일: 2003/12/03 오전 12:34:28
조회수: 2702
파일: Counter.zip (23 KB) / 전송수: 1468
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using System.IO;//파일 사용

namespace Counter
{
    /// <summary>
    /// Global에 대한 요약 설명입니다.
    /// </summary>
    public class Global : System.Web.HttpApplication
    {
        public Global()
        {
            InitializeComponent();
        }    
          
        FileInfo objFi;
        protected void Application_Start(Object sender, EventArgs e)
        {
            string strVisit = Server.MapPath(".") + "\\visit.txt";
            // 만약, 텍스트 파일이 있으면 그것부터 시작, 없으면 0부터
            objFi = new FileInfo(strVisit);
            if(objFi.Exists)
            {
                StreamReader objSr = objFi.OpenText();     // 파일 읽기전용열기
                Application["TotalVisit"] = int.Parse(objSr.ReadLine()); //한 줄 읽기
                objSr.Close();
            }
            else
            {
                // 전체 사용자 전역 변수 초기화
                Application["TotalVisit"] = 0;
            }
            // 현재 사용자 0으로 초기화
            Application["CurrentVisit"] = 0;
        }

        protected void Session_Start(Object sender, EventArgs e)
        {
            // 전체 사용자 1 증가
            Application["TotalVisit"] = (int)Application["TotalVisit"] + 1;
            // 현재 사용자 1증가
            Application["CurrentVisit"] = (int)Application["CurrentVisit"] + 1;                
            if((int)Application["TotalVisit"] %10 == 0)
            {
                SaveCount();
            }
        }

        protected void Application_BeginRequest(Object sender, EventArgs e)
        {

        }

        protected void Application_EndRequest(Object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(Object sender, EventArgs e)
        {

        }

        protected void Application_Error(Object sender, EventArgs e)
        {

        }

        protected void Session_End(Object sender, EventArgs e)
        {
            // 현재 사용자 1 감소
            Application["CurrentVisit"] = (int)Application["CurrentVisit"] - 1;                
        }

        protected void Application_End(Object sender, EventArgs e)
        {
            SaveCount();
        }

        protected void SaveCount()
        {
            StreamWriter objSw = objFi.CreateText();     //Stream객체로 핸들링
            objSw.WriteLine(Application["TotalVisit"].ToString());     //한줄 쓰기
            objSw.Close(); //파일 닫기
        }
      
        #region Web Form Designer generated code
        /// <summary>
        /// 디자이너 지원에 필요한 메서드입니다.
        /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
        /// </summary>
        private void InitializeComponent()
        {    
        }
        #endregion
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 3. XML 파일 기반의 방명록 - 레드플러스 2004-01-04 2722
  2. Text 파일 기반의 카운터(C# 사용) - 레드플러스 2003-12-01 2935
현재글 1. 전체 방문수, 현재 방문수 구하기 Counter.zip(23 KB) 레드플러스 2003-12-03 2702
  2. 전체/오늘/현재/IP주소의 4가지 사항 출력하는 카운터 Counter(2).zip(20 KB) 레드플러스 2003-12-03 2630
다음글 1. 기본 게시판(VB.NET 사용) - 레드플러스 2003-11-15 4080
 
손님 사용자 Anonymous (손님)
로그인 Home