ASP.NET 에서 Application,Cookie,Session,Cache 와 ViewState

우 리 는 ASP.NET 개발 을 할 때 자주 답장 을 사용 합 니 다.우 리 는 답장 에 데 이 터 를 저장 합 니 다.다음은 application,Cookie,Session,Cache 와 ViewState 를 일일이 소개 하여 언제 사용 할 지 선택 할 수 있 도록 합 니 다.
신청
응용 프로그램 은 모든 세 션 의 응용 프로그램 범위 에 대한 방법 과 이벤트 에 대한 접근 을 제공 합 니 다.정 보 를 저장 할 수 있 는 프로그램 범위 의 캐 시 에 대한 접근 도 제공 합 니 다.응용 프로그램 상 태 는 ASP.NET 응용 프로그램의 모든 클래스 에서 사용 할 수 있 는 데이터 저장 소 입 니 다.서버 메모리 에 저장 되 어 있 기 때문에 데이터베이스 에 정 보 를 저장 하고 검색 하 는 것 보다 실행 속도 가 빠르다.단일 사용자 세 션 에 지정 한 세 션 상태 와 달리 프로그램 상 태 는 모든 사용자 와 세 션 에 적 용 됩 니 다.따라서 응용 프로그램 상 태 는 수량 이 적 고 사용자 의 변화 에 따라 변화 하지 않 는 상용 데 이 터 를 저장 하기에 매우 적합 하 다.
응용 프로그램의 관건 적 인 특성 은 서버 메모리 에 저장 되 어 사용자 와 무관 하 게 다 중 사용자 가 공유 하 는 것 입 니 다.응용 프로그램의 전체 생존 기간 에 주동 적 으로 버 려 지지 않 고 직렬 화 되 지 않 으 며 서버-클 라 이언 트 의 데이터 전송 이 발생 하지 않 습 니 다.
쿠키
쿠키 는 웹 애플 리 케 이 션 에 사용자 의 특정 정 보 를 저장 하 는 방법 을 제공한다.예 를 들 어 사용자 가 사이트 에 방문 할 때 쿠키 를 사용 하여 사용자 의 첫 번 째 옵션 이나 다른 정 보 를 저장 할 수 있 습 니 다.이 사용자 가 귀하 의 사 이 트 를 다시 방문 할 때 응용 프로그램 은 이전에 저 장 된 정 보 를 검색 할 수 있 습 니 다.개발 자가 프로 그래 밍 방식 으로 쿠키 를 설정 할 때 저장 하고 자 하 는 데 이 터 를 문자열 로 정렬 해 야 합 니 다(또한 많은 브 라 우 저가 쿠키 에 대해 4096 바이트 의 제한 이 있 음).
Cookie 의 관건 적 인 특징 은 클 라 이언 트 하 드 디스크 에 저장 되 고 사용자 와 관련 되 며 일정 시간 동안 영구적 으로 저장 되 며 브 라 우 저 를 통 해 데 이 터 를 공유 할 수 있 으 며 직렬 화 되 어야 하 며 서버-클 라 이언 트 데이터 전송 이 발생 합 니 다.
세 션
Session 은 현재 사용자 세 션 에 정 보 를 제공 합 니 다.정 보 를 저장 할 수 있 는 세 션 범위 의 캐 시 에 대한 접근 과 세 션 을 어떻게 관리 하 는 지 제어 하 는 방법 도 제공 합 니 다.응용 프로그램 상 태 는 ASP.NET 응용 프로그램의 모든 클래스 에서 사용 할 수 있 는 데이터 저장 소 입 니 다.서버 메모리 에 저장 되 어 있 기 때문에 데이터베이스 에 정 보 를 저장 하고 검색 하 는 것 보다 실행 속도 가 빠르다.단일 사용자 세 션 에 지정 되 지 않 은 프로그램 상태 와 달리 세 션 상 태 는 단일 사용자 와 세 션 에 적 용 됩 니 다.따라서 응용 프로그램 상 태 는 수량 이 적 고 사용자 의 변화 에 따라 변화 하 는 상용 데 이 터 를 저장 하기에 매우 적합 하 다.또한 서버-클 라 이언 트 데이터 전송 이 발생 하지 않 기 때문에 Session 은 사용자 에 대한 안전 데이터,예 를 들 어 카 트 정보 등 을 저장 하기에 적합 합 니 다.
Session 의 관건 적 인 기능 은 서버 메모리 에 저장 되 어 있 으 며 세 션 과 관련 되 어 있 습 니 다.세 션 의 전체 생존 기간 에 주동 적 으로 버 려 지지 않 고 직렬 화 되 지 않 으 며 서버-클 라 이언 트 데이터 전송 이 발생 하지 않 습 니 다.
캐 시
ASP.NET 은 서버 자원 이 많이 필요 한 대상 을 메모리 에 저장 하 는 강력 하고 사용 하기 쉬 운 캐 시 체 제 를 제공 합 니 다.이러한 유형의 자원 을 캐 시 하면 프로그램의 성능 을 크게 개선 할 수 있 습 니 다.서버 메모리 에 저장 되 어 있 습 니 다.캐 시 항목 과 캐 시 시간 을 사용자 정의 할 수 있 습 니 다.예 를 들 어 시스템 메모리 가 부족 할 때 캐 시 는 메모 리 를 사용 하지 않 거나 우선 순위 가 낮은 항목 을 자동 으로 제거 합 니 다.이 기술 은 청소 라 고도 부 르 는데,이것 은 캐 시가 만 료 된 데 이 터 를 귀중 한 서버 자원 을 사용 하지 않도록 확보 하 는 방식 중의 하나 이다.세 션 과 관련 이 없 기 때문에 다 중 세 션 으로 공유 되 기 때문에 사이트 성능 을 향상 시 킬 수 있 지만 사용자 의 안전 정 보 를 누설 할 수 있 습 니 다.서버 에 메모리 가 부족 할 때 캐 시 를 자동 으로 제거 할 수 있 기 때문에 데 이 터 를 가 져 올 때마다 캐 시 항목 이 존재 하 는 지 확인 해 야 합 니 다.
Cache 의 관건 적 인 기능 은 서버 메모리 에 저장 되 어 있 으 며 세 션 과 상 관 없 이 서버 메모리 자원 의 상황 에 따라 수시로 버 려 질 수 있 으 며 직렬 화 되 지 않 으 며 서버-클 라 이언 트 데이터 전송 이 발생 하지 않 습 니 다.
여기 서 저 는 View State 에 대해 서도 상기 네 가지 데이터 가 지속 되 는 방식 과 비교 할 수 있 도록 설명 을 하고 싶 습 니 다.뷰 스테이 트 는 페이지 를 넘 어 데 이 터 를 공유 할 수 없 지만 같은 페이지 에 서 는 같은 페이지 의 여러 요청 사이 에 값 을 유지 할 수 있 기 때문이다.
5.ViewState
ViewState 속성 은 같은 페이지 의 여러 요청 사이 에 값 을 유지 하 는 사전 대상 을 제공 합 니 다.이것 은 페이지 가 왕복 스케줄 사이 에 페이지 와 컨트롤 속성 값 을 유지 하 는 기본 적 인 방법 입 니 다.페이지 를 처리 할 때 페이지 와 컨트롤 의 현재 상 태 는 문자열 로 흩 어 져 있 으 며,페이지 에 숨겨 진 영역 이나 여러 개의 숨겨 진 영역 으로 저 장 됩 니 다.(View State 속성 에 저 장 된 데이터 양 이 MaxPageState FieldLength 속성 에서 지정 한 값 을 초과 하면)페이지 를 서버 에 다시 보 낼 때 페이지 는 페이지 초기 화 단계 에서 보기 상태 문자열 을 분석 하고 페이지 의 속성 정 보 를 복원 합 니 다.보기 상태 로 값 을 저장 할 수도 있 습 니 다.기본적으로 ViewState 는 암호 화 되 지 않 고 서버-클 라 이언 트 데이터 전송 이 발생 합 니 다.
ViewState 의 관건 적 인 기능 은 페이지 에 저장 되 고 세 션 과 관련 되 며 직렬 화 되 며 기본적으로 서버-클 라 이언 트 전송 이 발생 하 며 기본적으로 암호 화 되 지 않 습 니 다.
어떤 상황 에서 ViewState 에서 서버-클 라 이언 트 전송 이 발생 하지 않 거나 암호 화 되 지 않 는 지 에 대해 서 는 다음 장 에서 설명 하 겠 습 니 다.
종합 하면 우 리 는 흔히 볼 수 있 고 전형 적 인 예 를 정리 해 냈 다.
전자상거래 사이트 의 카 트:세 션 을 사용 합 니 다.카 트 정 보 는 회화 와 관련 되 고 안전성 이 중요 하기 때 문 입 니 다.
포럼 이나 다른 사이트 의'나 를 기억 해'기능:Cookie 를 사용 합 니 다.이것 은 저 장 된 사용자 이름 이기 때문에 다음 에 로그 인 할 때 이 사용자 이름 이 존재 해 야 합 니 다.
사이트 카운터:데이터 베 이 스 를 사용 하지 않 으 면 애플 리 케 이 션 을 사용 하 는 것 입 니 다.계수 기 는 세 션 과 무관 하기 때 문 입 니 다.그러나 데이터 베 이 스 를 사용 하 는 상황 에서 도 애플 리 케 이 션 을 사용 하여 계산 치 를 저장 한 다음 에 일정 시간 마다 데이터 베이스 에 저장 하 는 것 을 권장 합 니 다.그러면 데이터 베 이 스 를 방문 하 는 횟수 를 줄 여 성능 을 향상 시 킬 수 있 기 때 문 입 니 다.
제품 정보:Cache 는 우선 적 인 선택 입 니 다.제품 정 보 는 보통 세 션 과 무관 하고 수정 빈도 가 낮 으 며 방문 빈도 가 높 은 데이터 이기 때문에 Cache 를 사용 하여 저장 하면 사이트 의 성능 을 효과적으로 향상 시 킬 수 있 습 니 다.
마지막 으로,우 리 는 당신 이 결정 할 수 있 도록 상기 몇 가지 데이터 의 지속 화 방식 의 특성 대 비 를 보 여 줍 니 다.
Application
Cache
Session
Cookie
ViewState
기억 위치
서버
서버
서버
클 라 이언 트
클 라 이언 트
스스로 버 려 질 지 여부
할 줄 모르다
회의
할 줄 모르다
할 줄 모르다
할 줄 모르다
세 션 관련
아니.
아니.
예.
예.
예.
직렬 화 여부
아니.
아니.
아니.
예.
예.
서버 발생 여부-클 라 이언 트 전송
아니.
아니.
아니.
예.
예(기본 상황)
암호 화 되 었 는 지 여부
아니.
아니.
아니.
예.
여부(기본 상황)

좋은 웹페이지 즐겨찾기