더북(TheBook)

9. 솔루션 탐색기에서 FrmResponseBuffer.aspx.cs 파일을 더블클릭해 코드 숨김 페이지로 이동한 후 다음과 같이 프로그램을 작성한다. 이번 FrmResponseBuffer.aspx 페이지는 따로 코드를 입력하지 않고 코드 숨김 파일만 사용하는 페이지다.

▼  FrmResponseBuffer.aspx.cs

using System;

namespace DevASPNET
{
  public partial class FrmResponseBuffer : System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          // [0] 현재 페이지를 매번 새로 읽어옴
          Response.Expires = -1;
          // [1] 버퍼링 사용
          Response.Buffer = true;
          // [2] 화면 글쓰기
          Response.Write(
              "[1] 현재 글은 보여짐<br />");
          // [3] 현재 버퍼에 있는 내용 출력
          Response.Flush();
          // [4] 화면 글쓰기
          Response.Write(
              "[2] 현재 글은 안 보임<br />");
          // [5] 현재 버퍼 내용 비우기
          Response.Clear();
          // [6] 문자열 출력
          Response.Write("[3] 보여짐<br />");
          // [7] 현재 페이지 종료
          Response.End(); // Response.Flush()+End()
          // [8] 문자열 출력
          Response.Write("[4] 실행 안 됨<br />");
      }
  }
}

 

Response.Flush() 메서드는 위 예제 외에는 일반적으로 사용될 일은 없겠지만, 현재까지의 Response.Write() 메서드의 내용을 바로 출력해 서버 측 버퍼를 비우고 다음 Response.Write() 메서드를 기다리는 역할을 한다. 전체 내용을 한꺼번에 버퍼에 저장했다가 바로 출력하는 개념과 중간중간 출력 결과를 끊어서 출력해주는 부분을 Flush 메서드를 통해서 제어할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.