페이지 요청(request)간 상태(state)를 유지하기위한 9가지 방법
3가지 선택기준.
- 누가 데이터를 필요로 하는가?
- 얼마나 오래 데이터가 유지될 필요가 있는가?
- 얼마나 많은 데이터가 필요한가?
ASP.NET에서 새로 추가된 4가지 방법
- Cache,
- Context,
- ViewState,
- Web.Config 파일
유지방법 |
자료요구 |
유지기간 |
유지 데이터 용량 |
Application |
모든 사용자 |
다음 에플리케이션이 재시작할 때까지 |
임의의 크기, 한번만 설정할 수 있음 |
Cookie |
1 사용자 |
원하는 만큼 짧게, 또는 사용자가 쿠키를 지우지 않는한 몇달 몇년동안 |
최소량, 간단한 데이터 |
Form Post |
1 사용자 |
다음 요청 까지만 (많은 요청들을 지난후 재사용 가능) |
사실상 임의의 크기. 데이타가 모든 페이지 어디든 보내짐. |
QueryString |
1 사용자 / |
다음 요청 까지만 (많은 요청들을 지난후 재사용 가능) |
최소량, 간단한 데이터 |
Session |
1 사용자 |
사용자가 액티브 상태인 동안, timeout 기간을 추가함(보통 20분) |
임의의 크기, 그러나 사용자마다 자신의 개별 세션 스토어를 갖으므로 최대한 최소화 해야함. |
Cache |
모든 사용자 / 사용자 일부 |
필요한 만큼 길거나 짧게 |
크거나 작게 사용가능, 단순하거나 복잡한 데이터 |
Context |
1 사용자 |
요청시 |
큰 개체 수용가능, 그러나 모든 요청에 사용되므로 일반적으로 사용자제. |
ViewState |
1 사용자 |
하나의 웹폼 페이지 |
최소량; Form Post처럼, 이 데이터는 모든 페이지 어디든 보내질 수 있음. |
Config file |
모든 사용자 |
configuration 파일이 수정될 때까지 |
많은 데이터 수용가능; 보통 많은 '짧은 스트링'이나 'XML 구조'로 구성됨. |
파라미터를 갖는 Anchor문장과 Form(Get Method)-Input-Submit은 파라미터값이 결정되어 있느냐와 사용자의 입력이 필요하냐의 차이만이 있다.
'.net' 카테고리의 다른 글
객체를 다른 페이지로 넘기기 (1) | 2007.05.03 |
---|---|
DataGrid, DataList, Repeater에서 순차적인 번호 표시 (0) | 2007.05.03 |
DataGrid RowSpan(중복데이타합치기) (1) | 2007.05.03 |
DataSet 행과 열 뒤집기 (0) | 2007.05.03 |
포스트백이 일어나기전의 스크롤 상태 유지하기 (3) | 2007.05.03 |