SessionState와 ViewState의 차이점은 무엇입니까?


답변:


143

세션 상태 에는 서버와의 특정 세션 (특정 클라이언트 / 브라우저 / 머신에 의한)과 관련된 정보가 포함됩니다. 사용자가 사이트에서 무엇을하는지 추적하는 방법입니다. 여러 페이지에 걸쳐 ... 웹의 무국적 상태를 가미했습니다. 예를 들어 특정 사용자의 장바구니 내용은 ​​세션 데이터입니다. 세션 상태에 쿠키를 사용할 수 있습니다. 반면에
보기 상태 는 특정 웹 페이지에 특정한 정보입니다. 숨겨진 필드에 저장되어 사용자에게 표시되지 않습니다. 페이지가 지난번에 페이지에서 한 일을 기억한다는 사용자의 착각을 유지하는 데 사용됩니다. 다시 게시 할 때마다 깨끗한 페이지를 제공하지 마십시오. 자세한 내용은이 페이지를 확인하십시오 .


96

세션 상태는 서버에 저장되고 ViewState는 페이지에 저장됩니다.

세션 상태는 일반적으로 사용자로부터 일정 기간 동안 활동이 없으면 지워집니다 (요청 쿠키에 세션 ID가 포함 된 요청이 발생하지 않음).

보기 상태는 숨겨진 필드의 후속 게시물에 게시됩니다.


30
+1 예-ViewState가 클라이언트와 서버간에 위아래로 이동하지만 SessionState는 서버에 남아 있다는 중요한 점입니다.
Gordon Mackie JoanMiro 2009

1
이것은 공식적인 답변 했어야
Fandango68

33

SessionState

  • 메모리에 지속될 수 있으므로 빠른 솔루션입니다. 즉, 웹 팜 / 웹 가든에서 상태를 공유 할 수 없습니다.
  • 웹 팜 / 웹 가든에 유용한 데이터베이스에 지속될 수 있습니다.
  • 일반적으로 20 분 동안 활동이 없으면 세션이 종료되면 해제됩니다.

ViewState

  • 대역폭을 차지하면서 서버와 클라이언트간에주고받습니다.
  • 만료일이 없습니다.
  • Web Farm / Web Garden에서 유용합니다.

14

사용법 : 다른 웹 페이지에 액세스하려는 정보를 저장하려는 경우 SessionState를 사용할 수 있습니다.

동일한 페이지에서 액세스하려는 정보를 저장하려면 Viewstate를 사용할 수 있습니다.

저장 Viewstate는 페이지 자체 (암호화 된 텍스트)에 저장되고 Sessionstate는 서버에 저장됩니다.

SessionState는 다음 조건에서 지워집니다.

  1. 프로그래머가 지움
  2. 사용자가 삭제
  3. 타임 아웃

5
ViewState는 암호화되지 않습니다. 그저 그렇게 보이지만 쉽게 해독 할 수 있습니다.
Vandel212

5

세션은 주로 사용자 별 데이터 [세션 별 데이터]를 저장하는 데 사용됩니다. 세션의 경우 세션이 만료되거나 사용자가 세션을 포기할 때까지 전체 세션에 대한 값을 사용할 수 있습니다. Viewstate는 사용되는 페이지에만 범위가있는 데이터 유형입니다. 해당 값을 원하는 페이지로 전송하지 않는 한 다른 페이지에 액세스 할 수있는 viewstate 값을 가질 수 없습니다. 또한 viewstate의 경우 모든 서버 측 제어 데이터는 __Viewstate의 키 값 쌍으로 서버로 전송되고 포스트 백이 발생할 때 클라이언트에서 다시 전송되어 적절한 제어로 렌더링됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.