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 메서드를 통해서 제어할 수 있다.

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