El View State de ASP.NET es una característica integrada que gestiona el estado del lado del cliente, conservando los valores de las páginas y los controles entre ciclos completos de solicitudes del cliente. Esto proporciona capacidad de programación con estado completo sobre un protocolo sin estado como HTTP.
Este estado se almacena en un campo oculto de la página como una cadena Base64 codificada, como parte de cada respuesta enviada al cliente. El cliente lo devuelve al servidor como parte de un postback.
<input id = "__VIEWSTATE"
type = "hidden"
name = "__VIEWSTATE"
value = "/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9kFgICBQ9kFgJmD2QWAgIBD
xYCHhNQcm2aW91c0NvbnRyb2xNb2RlCymIAU1pY3Jvc29mdC5TaGFyZVBvaW50Lld
lYkNvbnRyb2xzLlNQQ29udHJbE1vZDA1XzRlMjJfODM3Y19kOWQ1ZTc2YmY1M2IPD
2...=="/>
Si bien es muy útil, el View State de ASP.NET presenta algunos problemas que deberá resolver. Estos se describen a continuación.
Una forma de resolver estos problemas de ASP.NET View State es almacenando el estado real. Estado de vista de ASP.NET En el servidor web, se envía un token (o ID) único al navegador. De esta forma, el navegador puede devolver este token al servidor web la próxima vez. El servidor web utiliza este token para encontrar el estado de vista ASP.NET correcto en su almacén. A continuación, se muestra un ejemplo del uso de dicho token.
<input type = "hidden"
name = "__VIEWSTATE"
id = "__VIEWSTATE"
value = "vs:cf8c8d3927ad4c1a84da7f891bb89185" />
Si bien el estado de vista de ASP.NET se puede almacenar en el servidor web, no es lo ideal cuando la aplicación se ejecuta en una granja de servidores web con balanceo de carga, ya que la siguiente solicitud HTTP podría dirigirse a otro servidor web. Por lo tanto, es necesario almacenar el estado de vista de ASP.NET en un almacén compartido accesible desde todos los servidores web.
El mejor lugar para almacenar el estado de vista de ASP.NET en el servidor es en un caché distribuida. De esta manera, no solo puede tener un almacén común para todos los servidores web, sino que también tiene una almacén en memoria rápido y escalable en comparación con la base de datos de SQL Server u otras opciones de almacenamiento.
NCache Es una caché distribuida extremadamente rápida y escalable para .NET, Java, Python y Node.js. También permite almacenar Estado de vista de ASP.NET para resolver los problemas descritos anteriormente.
Para configurar ASP.NET View State, necesita instalar el AspNet.ViewState.NCache Paquete NuGet como requisito previo. Luego, debe configurar el navegador de aplicaciones archivo con NCache Conecte los adaptadores de página. A continuación, necesita... configurar el archivo web.config En su aplicación, registre el estado de vista para la configuración y especifique los ajustes de la sección de configuración previamente registrada. Consulte NCache Documentación de ASP.NET View State para la configuración paso a paso.
Si se utiliza el mismo caché para el almacenamiento en caché del estado de visualización y otros datos, puede obtener los datos del estado de vista utilizando la etiqueta NC_ASP.net_viewstate_data como:
Hashtable allViewStateData = cache.SearchService.GetByTag(new Tag("NC_ASP.net_viewstate_data"));
Obtendrá los siguientes beneficios al almacenar en caché el estado de su vista ASP.NET en NCache.
NCache Le ofrece un amplio conjunto de funciones para el almacenamiento en caché y la gestión del estado de vista de ASP.NET. A continuación, se muestra una lista de ellas.
Como has visto, NCache Permite almacenar en caché el estado de vista de ASP.NET en el servidor para optimizar su rendimiento. Además, ofrece un amplio conjunto de funciones para gestionar el estado de vista de ASP.NET de forma más eficiente en la caché. Esto permite desarrollar aplicaciones complejas y utilizar estas funciones para abordar diversos escenarios.
© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.