2010-05-21 4 views

답변

4

귀하의 관점과 사용법에 따라 다르지만, 일반적으로 세션은 모든 곳에서 저렴합니다.

클라이언트의 경우 세션은 거의 무료입니다. 세션 쿠키 (또는 쿠키없는 세션을 구성한 경우 URL을 통해 세션 ID)를 유지하는 것만 처리하면됩니다. Viewstate는 모든 데이터를 페이지 소스의 텍스트로 클라이언트에 푸시합니다.

서버의 경우 세션과 viewstate 모두 비용이 발생합니다. viewstate는 serialize 및 deserialize되고 와이어를 통해 이동해야합니다. 세션은 메모리에 저장되지만 (달리 구성되지 않은 경우) 조작 할 필요가 없습니다. 따라서 세션은 더 긴 시간 동안 메모리에 더 많은 스토리지를 사용하므로 viewstate는 임시 메모리 사용과 높은 CPU 히트를 만듭니다. 따라서 얼마나 많은 데이터, 클라이언트가 서버와 통신하는 빈도 및 보존하려는 리소스에 달려 있습니다 ... 일반적으로 대량 데이터의 경우 세션은 거의 모든 실제적인 경우에 손해를 보게됩니다.

2

ViewState는 대역폭을 소비하고 페이지를 더 무겁게 만들지 만 세션을 사용하면 out-of-proc가 사용되는 경우 서버 또는 일부 다른 서버에서 메모리를 소비하게됩니다.

관련 문제