2008-10-13 5 views
1

이것은 여러 임시 데이터를 저장하는 데 Session이 사용되는 상황과 관련이 있습니다. 한 예로, 여러 단계의 등록 프로세스 중에 입력 한 정보가 있습니다.어떻게 세션을 깨끗하게 유지할 수 있습니까?

웹 사이트에 해당 섹션이 여러 개있는 경우 (섹션을 페이지의 임시 데이터 저장소로 사용하려는 경우) 데이터가 더 이상 필요하지 않을 때 세션을 정리하는 좋은 방법은 무엇입니까? 사용자는 단순히 섹션에서 벗어나서 페이지 자체를 정리하는 데 사용할 수 없습니다.

[편집] 제 경우에는 세션이 proc에서 저장 될 때 네트워크 트래픽을 줄이는 것이 가장 중요하지만 메모리 바운드 응용 프로그램과 성능에 일반적으로 적용될 수 있습니다. 또한 Session의 예기치 않은 데이터로 인해 쉽게 버그를 추적하기 어려울 수 있습니다.

  1. 캐시 세션에서 많은 양의 데이터를 저장하지 않는 것이 좋습니다

  • 데이터베이스 : 당신이 대량의 데이터를 저장하려면

  • 답변

    2

    시간은 세션을 깨끗하게 유지해야합니다. 세션 이 만료되어야하고 모든 데이터가 누락되어야합니다. 이는 기본 동작입니다.

    너무 많은 데이터를 세션에 저장하는 것은 서버 리소스에 큰 도움이되지 않지만 알고있는 것처럼 때로는 필요악입니다. 정말 괴롭다면 세션을 SQL Server로 옮기는 것이 좋습니다. 대기 시간이 길어 지지만 더 많은 사용자를 처리 할 수 ​​있습니다.

    0

    당신은 다음과 같은 대안을 가지고있다.

    0

    왜 모든 것을 데이터베이스에 저장하지 않습니까? 그것은 단지 더 깨끗합니다.

    왜? 글쎄, 대부분의 현대 웹 앱은 페이지 뷰 당 12 번 이상 데이터베이스에 충돌하므로 몇 가지 간단한 쿼리만으로는 성능에 큰 영향을 미치지 않습니다.

    특히 파일 기반 세션을 사용하는 경우 세션에 많은 사용자 생성 데이터를 저장하는 데는 아무런 문제가 없습니다.

    왜? 한 사람이 등록 양식에 입력 할 수있는 텍스트의 양은 얼마입니까? 4000 바이트 미만의 공간이라면 하나의 OS 페이지만큼의 공간이 필요합니다!

    0

    세션 저장소를 사용하거나 데이터베이스를 사용하여 임시 데이터를 저장하지 않고도 다단계 등록 프로세스를 설계 할 수 있습니다. 한 번에 한 패널을 볼 수 있도록 여러 개의 패널이있는 하나의 .aspx 페이지를 디자인 할 수 있습니다. 사용자가 마지막 패널을 완료하면 이전에 채워진 모든 컨트롤에 계속 액세스 할 수 있습니다.

    관련 문제