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