Crystal Reports에 사용할 상태 유지 방식 선택
Crystal Reports SDK를 사용하여 빌드할 응용 프로그램을 계획할 때 고려해야 할 가장 중요한 사항 중 하나는 사용할 상태 유지 방식을 선택하는 일입니다. 상태 유지에 영향을 미치는 SDK 기본 사항에 대해 잘 알고 있으면 Crystal Reports for Visual Studio 프로젝트에 가장 적합한 구조를 선택하는 데 도움이 됩니다.
상태 유지의 정의
웹 페이지의 상태(웹 사이트에 연결한 사용자의 상태 및 정보)는 유지되지 않습니다. 각 웹 페이지는 서버에서 요청되고 사용자에게 전달된 다음, 프로세스가 종료됩니다. 이 방식은 텍스트 정보를 읽을 때에는 문제가 없지만 사용자에 대한 정보를 유지한 채 여러 페이지를 다시 로드하고 리디렉션해야 하는 웹 응용 프로그램을 디자인할 때는 문제가 됩니다.
상태 유지란, 페이지를 다시 로드하거나 리디렉션해도 방해받지 않도록 각 사용자가 보고 있는 현재 보고서 페이지와 같은 각 사용자의 상태를 유지하는 메커니즘의 사용을 의미합니다.
상태 유지를 위한 가장 좋은 방법
이 부분에서는 웹 페이지를 다시 로드하는 동안 Crystal 보고서를 새로 고치면서도 웹 페이지에서 해당 보고서에 대한 변경 사항을 유지할 수 있는 가장 좋은 방법에 대해 설명합니다. 유지해야 할 변경 사항은 보고서 뷰어의 다음 페이지 단추를 클릭한 후 두 번째 페이지로 이동하는 경우와 같이 간단한 것일 수도 있고, 보고서의 매개 변수가 변경된 후 전혀 다른 데이터를 표시하는 경우와 같이 복잡한 것일 수도 있습니다.
Crystal Reports for Visual Studio에서 상태 유지는 다음 항목에 적용되어야 합니다.
- CrystalReportViewer 컨트롤
- CrystalReportViewer 컨트롤에 바인딩된 보고서
ASP 및 ASP.NET에서의 상태 유지 방법
기존의 ASP 및 ASP.NET에서는 다음과 같은 방법으로 웹 브라우저나 웹 서버에 의해 상태가 유지됩니다.
환경
|
클라이언트/서버
|
이름
|
방법
|
---|---|---|---|
ASP
|
클라이언트 브라우저
|
폼 필드
|
폼 전송 필드를 통해 웹 페이지 간에 이름/값 쌍을 전달합니다.
|
ASP
|
클라이언트 브라우저
|
URL 인수
|
URL 인수를 사용하여 웹 페이지 간에 이름/값 쌍을 전달합니다.
|
ASP
|
클라이언트 브라우저
|
쿠키
|
클라이언트 브라우저의 쿠키에 이름/값 쌍을 할당한 다음, 새 페이지에서 쿠키를 검색합니다.
|
ASP
|
웹 서버
|
Session 개체
|
인스턴스화된 개체를 서버의 Session 개체에 할당한 다음, 새 페이지에서 Session을 검색합니다.
|
ASP
|
웹 서버
|
Application 개체
|
인스턴스화된 개체를 서버의 Application 개체에 할당한 다음, 새 페이지에서 Application을 검색합니다.
|
ASP.NET
|
클라이언트 브라우저
|
ViewState 개체
|
ASP.NET Web Form의 ViewState 개체에 문자열 값을 할당합니다.
|
ASP.NET
|
웹 서버
|
Cache 개체
|
Application 개체를 사용하는 경우와 동일하지만 기능이 더욱 향상됩니다.
|
* 모든 ASP 상태 유지 방식은 ASP.NET에도 적용됩니다.
Crystal Reports에 가장 적합한 상태 유지 방법
Crystal Reports에 사용하기에 가장 적합한 상태 유지 방법은 ViewState, Session 또는 Cache입니다.