ASP.NET 주요 내장개체
by EunHye Jung
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=”클래스명” : 코드 숨김 파일의 클래스 이름을 지정한다.
Subscribe via RSS