어플리케이션은 접속자 전체이며,
에플리케이션 하나, 세션은 여러개 생성 가능합니다.
[FrmApplicationSession : FrmApplication과 Session객체]
FrmApplicationSession.aspx |
<div>
현재 페이지가 모든 사용자에 의해
<asp:Label ID = "lblApplication" runat = "server"></asp:Label>
번 호출되었습니다.<br />
현재 페이지가 나에 의해서
<asp:Label ID = "lblSession" runat = "server"></asp:Label>
번 호출했습니다.<br />
나의 고유 접속번호 :
<asp:Label ID = "lblSessionID" runat ="server"></asp:Label><br />
현재 세션 유지시간 :
<asp:Label ID = "lblTimeout" runat = "server"></asp:Label><br />
</div> |
FrmApplicationSession.aspx.cs |
protected void Page_Load(object
sender, EventArgs
e) {
//Applicateion 전역변수 : Public 한 전역변수
//Session 전역변수 : Private한 전역변수
//[1] Application 변수 1 증가
if (Application["Count"] == null)
{
//먼저 온 사용자가 변수 수정 잠그기
Application.Lock();
//응용프로그램 변수 선언/내용 수정(초기화) 선언과 동시 초기화
Application["Count"]
= 1;
//잠금 해제 : 다른 사용자가 사용가능
Application.UnLock();
//lock,unlock은 동시에 접속할 경우 재일 가까운 사람이 접속이 되고, //lock를 걸어 다음 사람을 대기시킨다.
//공식적
}
else
{
Application["Count"]
= (int)Application["Count"] + 1;
}
//[2] Session 변수 1 증가
if (Session["Count"] == null)
{
Session["Count"]
= 1; //세션변수 선언과 동시에 1로 초기화
}
else
{
Session["Count"]
= (int)Session["Count"] + 1;
}
//[3] 출력
//누구나 다 1씩 증가
this.lblApplication.Text =
Application["Count"].ToString();
//현재 접속자만 1씩 증가
this.lblSession.Text =
Session["Count"].ToString();
//현재 접속자의 고유 접속 번호
this.lblSessionID.Text =
Session.SessionID;//웹 브라우저를 한명의 접속자로 봄
//현재 세션의 유지 시간
this.lblTimeout.Text =
Session.Timeout.ToString(); //20분에 자동으로 초기화 } |
결과화면 |
[그림13-1] |
'ASP.NET' 카테고리의 다른 글
15.C# ASP.NET - Lable, TextBox, Button 컨트롤 [WebStandardControl] (0) | 2009.10.06 |
---|---|
14.C# ASP.NET - PageLoad (0) | 2009.10.05 |
12.C# ASP.NET - Server.Execute (0) | 2009.10.05 |
11.C# ASP.NET - Server.MapPath (0) | 2009.10.05 |
10.C# ASP.NET - Request.UserHostAddress (0) | 2009.10.05 |
Comments