페이지 요청(request)간 상태(state)를 유지하기위한 9가지 방법
페이지 요청(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은 파라미터값이 결정되어 있느냐와 사용자의 입력이 필요하냐의 차이만이 있다.