Diferencia entre Session y ViewState

Sesión vs ViewState

ViewState y la sesión son dos de las soluciones para problemas en aplicaciones web. El problema involucra a un usuario de computadora que accede a una página web en un período específico de tiempo. Después de un tiempo de uso, o después de que el usuario cerró la aplicación, la información y el acceso de la página web se eliminan de los registros de uso recientes.

ViewState es válido solo durante las devoluciones de datos y solo se aplica a datos serializados. ViewState, ante todo, es un objeto / arquitectura que permite que los controles web mantengan su valor entre las devoluciones de datos. Al igual que la sesión, ViewState puede ejecutarse y ser accesible a un servidor.
La información en ViewState se almacena para el cliente solo como un valor cifrado en los campos ocultos del navegador. Esto hace que los datos no sean seguros y posiblemente estén sujetos a piratería. Durante las devoluciones de datos, ViewState realiza un seguimiento de los cambios en un sitio web en particular.

ViewState también conserva el valor de control para la página en particular. Esto significa que los datos en una página no están y no pueden estar disponibles, accedidos o replicados en otra página. ViewState se mantiene en el nivel de la página o en la página actual, en vivo. No tiene punto de caducidad y se puede habilitar o deshabilitar en ViewState para controles específicos.

ViewState se puede ver al ver el código fuente de la página que dura hasta que se cierra la página. ViewState se usa principalmente para almacenar una pequeña cantidad de datos (generalmente una cadena y otros datos serializados) en la página actual. Además, ViewState consume más ancho de banda en comparación con la sesión pero menos memoria y espacio de memoria. ViewState no implica demasiada memoria, ya que todos los datos se pierden en el momento en que se cierra la página..

Mientras tanto, la sesión se usa más comúnmente para páginas web y afecta no solo a la página, sino a toda la aplicación y la duración completa de un usuario que utiliza ese navegador o página en particular. La sesión es válida para cualquier tipo de objetos y se almacena en la memoria del servidor del navegador. Los datos que retiene son los datos del usuario de la computadora o, en otras palabras, los datos específicos del usuario. Los datos están disponibles hasta que el usuario cierre la aplicación del navegador o la sesión expire por sí sola..

A diferencia de ViewState, se puede acceder a los datos de la sesión o replicarlos en otra ventana o página dentro de la sesión. Las sesiones tampoco tienen la capacidad de deshabilitar o habilitar controles específicos. La sesión también involucra diferentes tipos de datos para ser almacenados en su receptáculo de memoria. La sesión también tiene una memoria más grande en comparación con ViewState ya que usa la memoria del servidor. La desventaja de esto es que la sesión tiene un tiempo de caducidad, y la cantidad de datos almacenados en la memoria del servidor puede afectar la hora de carga del servidor..

Resumen:

1. Además de ViewState y la sesión, otras soluciones ASP.NET incluyen variables de aplicación, caché y cookies. 2.ViewState y la sesión pueden ejecutarse y ser accesibles en un entorno de servidor.
3.ViewState se usa en el lado del cliente, mientras que la sesión se usa en el lado del servidor. Estar en el lado del cliente hace que ViewState no tenga vencimiento. Lo opuesto (tener un vencimiento y estar en el lado del servidor) es para la sesión.
4.ViewState solo puede contener una cadena o datos serializables mientras que la sesión puede contener una gran cantidad de datos. Esto hace que la cantidad de datos en ViewState sea mucho menor en comparación con la sesión.
5.Session puede replicar o acceder a los datos a una nueva página o ventana, mientras que ViewState no es capaz de esta característica.
6.Session almacena sus datos en la memoria del servidor mientras que ViewState oculta sus datos en los campos ocultos de un navegador como datos encriptados. 7. Dado que la memoria del servidor contiene diferentes tipos de datos, una gran cantidad de datos almacenados puede afectar la carga del servidor.