Response 개체

서버에서 어떤 결과를 클라이언트로 전송(응답)할 때 사용하는 개체.

Respones 개체의 주요 속성, 메소드

  • Write() : 페이지에 문자열을 출력, HTML을 포함해, 자바 스크립트를 실행 가능
  • Redirect() : 지정된 페이지로 이동
  • Expires : 현재 페이지의 소멸 시간을 설정
  • Buffer : 버퍼링 사용여부 설정
  • Flush() 현재 버퍼의 내용 출력
  • Clear() : 현재 버퍼의 내용을 비움
  • End() : 현재 페이지 종료
  • WriteFile() : 스트림(파일) 출력
  • Cookies[] : 쿠키를 저장

Response.Write() 예제코드
Response.Redirect() 예제코드


Request 개체

사용자에게 어떤 값을 입력(요청) 받고자 할 때 주로 사용.
사용자가 폼(Post) 또는 하이퍼링크(Get)를 통해 전송된 값을 받거나, 현재 접속자의 IP 주소 등을 얻는 등 정보를 얻고자 할때 Request 개체의 주요 멤버를 사용.
Request 개체는 폼 또는 쿼리스트링에서 전송된 데이터를 받고자 할때, IP 주소를 알고자 할 때, 쿠키 값을 읽어 올때 이렇게 3가지 경우에 가장 많이 사용된다.

Request 개체의 주요 멤버

  • QueryString[] : Get 방식으로 넘어온 쿼리스트링 값인 key와 value를 받고자 할 때 사용
  • Form[] : Post 방식으로 넘어온 key와 vlaue값을 받고자 할 때 사용
  • Params[] : 사용자에게 전송된 Get/Post 방식을 모두 받고자 할 때 사용
  • UserHostAddress : 현재 사용자의 IP 주소 문자열을 반환
  • ServerVariables[] : 현재 접속자의 주요 서버 환경 변수값을 알려줌
  • Cookies[] : 저장된 쿠키 값을 읽어옴
  • Url : 현재 웹페이지의 URL을 반환
  • PhysicalApplicationPath : 현재 웹 사이트의 가상 디렉토리의 물리적인 경로를 알려줌

Request 개체 예제코드
Request 개체 이용해서 IP 주소 얻기 예제 코드


Server 개체

Server 개체는 서버에 있는 특정 페이지를 현재 페이지에 포함하거나 서버 측 경로 등을 웹 페이지에 표시할 때 필요한 기능을 가지고 있다
현재 페이지와 같은 경로를 얻거나 홈 디렉터리 경로 등을 얻고자 할 때 사용되는 MapPath()가 가장 많이 사용된다

  • MapPath(“.”) : 현재 파일과 같은 경로값 반환, “.”, “../” 식으로 원하는 경로의 물리적인 경로를 받아올 수 있음
  • Execute() : 다른 파일 포함(인클루드) 후 제어권 돌아옴
  • Transfer() : 다른 파일 포함(인클루드) 후 제어권 넘김
  • UrlPathEncoder() : 넘어온 쿼리스트링을 유니코드로 변환(한글 처리)
  • ScriptTimeout : 서버에서 현재 aspx 페이지를 몇초간 처리할 건지 설정

Application 개체

Application 개체는 응용 프로그램 영역에서 어떤 값을 저장시켜 놓은 뒤 그 값을 웹 페이지 어느곳에서든 참조할 수 있는 기능
응용 프로그램 레벨 변수로 주로 사용되고, Application[“이름”] = 값; 형식으로 값을 저장

  • Lock() : 애플리케이션 변수를 잠그는 메서드
  • UnLock() : 잠긴 애플리케이션 변수를 해제하는 메서드
  • Add() : 애플리케이션 변수를 만들 때 사용
  • Application_Start() : 웹 애플리케이션이 시작될 때 발생 (웹 사이트에 첫번째 사용자가 방문할때 발생), Global.asax에서 설정
  • Application_End() : 웹 응용 프로그램이 끝날 때 발생(웹 사이트에서 마지막 사용자가 나간 후 발생), Global.asax에서 설정

Session 개체

Session 개체는 단일 사용자 레벨로 어떤 값을 저장하거나 호출할 때 사용되는 개체
사용자 한명에 대한 정보를 키와 값으로 저장할 수 있으며, 서버 측 메모리에 해당 데이터를 저장한다.

Application 변수가 누구나 접근 가능한 공통(Public)적인 성격이라면 Session 변수는 사용자별로 하나씩 생성되는 전용(Private)적인 성격이다.
(Session 개체는 사용자 한명이 웹 사이트를 방문했을 때 그 사용자에게만 특정한 값을 저장해놓고 유지하고 싶을때 사용한다)

  • SessionID : 현재 세션의 고유번호 값 반환
  • SesisonTimeout : 세션 시간 기록: 기본값 20분 (더 추가하거나 줄일 경우 사용)
  • Abandon() : 현재 세션 지우기
  • Session_Start() : 사용자(세션) 한 명이 방문할 때 실행
  • Session_End() : 사용자 한 명이 나간 후 실행

Page 클래스

ASP.NET 페이지는 모두 System.Web.UI.Page 클래스를 상속한다.

  • IsPostBack : 현재 페이지를 처음 로드했는지, 다시 게시(포스트백) 했는지 확인한다
    ASP.NET 웹 페이지를 웹브라우저로 요청시 처음 실행되는 것을 처음 로드라고 하고, 웹 폼에서 서버 컨트롤 버튼 등을 클릭했을 때 웹페이지가 깜빡거리면서 다시 현재 페이지가 실행되는 것을 다시 게시(포스트백)이라고 표현한다.
  • ClientScript.RegsiterClientScriptBlock() : 자바스크립트를 동적으로 웹페이지에 추가한다
  • Header : 현재 웹 폼의 <head> 태그 부분을 정의한다
  • Title : 현재 웹 폼의 제목을 동적으로 설정하거나 가져온다
  • SetFocus() : 다른 컨트롤의 ID값을 지정해주면 웹 폼이 로드할 때 해당 컨트롤에 포커스가 지정된다

Page 지시문
ASP.NET의 웹 폼은 다음과 같은 Page 지시문으로 시작한다.
이 페이지 지시문에는 선언적으로 여러가지 속성을 추가함으로써 웹 폼의 동작을 제어할 수 있다.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmPageLoad.aspx.cs" Inherits="FrmPageLoad" %>

Visual Studio에서 웹 폼을 생성할 때 기본적으로 사용되는 Page 지시문의 주요 속성을 다음과 같다.
(자동으로 만들어주는 코드라서 따로 건드릴 필요는 없다)

  • Language=’C#’ : ASP.NET의 기본 언어를 C# 언어로 설정한다.
  • AutoEventWireup=”true” : ASPX 파일에서 발생한 이벤트를 ASPX.CS 파일의 이벤트 처리기에 자동으로 연결해준다.
  • CodeFile=”*.aspx.cs” : 현재 웹 폼 페이지의 코드를 담당하는 코드 숨김 파일을 지정한다.
  • Inherits=”클래스명” : 코드 숨김 파일의 클래스 이름을 지정한다.

PageLoad() 예제코드


참고(ASP.NET & Core를 다루는 기술)