El mensaje de error "Viewstate no es válido para esta página" no proporciona información suficiente para solucionar el problema

Seleccione idioma Seleccione idioma
Id. de artículo: 832183 - Ver los productos a los que se aplica este artículo
Para obtener una versión de Microsoft .NET Framework 1.1 de este artículo, consulte 831150.


importante NO instalar este hotfix en un equipo que está en un entorno de conjunto de servidores Web o en un entorno agrupado a menos que va a instalar este hotfix en cada equipo en el entorno o que ha instalado revisión 323744 en todos los equipos en el entorno.

Para obtener más información, vea "Description of the View State MAC feature" en la sección "Más información".
Expandir todo | Contraer todo

En esta página

Resumen

Dado que los datos de estado de vista se almacena en un campo oculto en una página Web, es vulnerable a manipulación al transferir datos entre el cliente y el servidor. Para facilitar la característica de estado de vista más seguro, Microsoft ASP.NET valida los datos estado de vista para comprobar que procede de la página correcta.

Si ASP.NET no puede validar los datos de estado de vista, ASP.NET devuelve un mensaje en el explorador cliente que indica que "viewstate no es válido para esta página y podría estar dañado." Sin embargo, en el mensaje no se describe por qué los datos de estado de vista no son válidos.

Para obtener más información acerca de la característica estado de vista, consulte "" en "Obtener más información" sección.

Solución

Aunque este artículo ofrece una revisión, este hotfix no corrige los errores de estado de vista de datos . Esta revisión sólo proporciona información adicional para ayudarle a solucionar los errores de estado de vista de datos.

Ahora hay disponible un hotfix para el que Microsoft proporciona soporte técnico, pero que sólo se diseñó para corregir el problema descrito en este artículo. Aplíquelo sólo a sistemas que experimenten este problema específico. Este hotfix puede ser sometido a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere al próximo Microsoft .NET Framework 1.0 service pack que contenga este hotfix.

Para resolver este problema inmediatamente, póngase en contacto con soporte técnico de Microsoft para obtener la revisión. Para obtener una lista completa de los números de teléfono de los servicios de soporte técnico de Microsoft e información acerca de los costos de soporte, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota en casos especiales, los costos derivados normalmente de las llamadas al soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version       Size       File name
   --------------------------------------------------------------
   11-Dec-2003  07:13  1.0.3705.478    200,704  Aspnet_isapi.dll
   11-Dec-2003  07:06                    4,169  Aspnet_perf.h
   11-Dec-2003  07:14                  513,302  Aspnet_perf.ini
   11-Dec-2003  07:14                  510,714  Aspnet_perf2.ini
   11-Dec-2003  07:14  1.0.3705.478     24,576  Aspnet_regiis.exe
   11-Dec-2003  07:14  1.0.3705.478     28,672  Aspnet_wp.exe
   11-Dec-2003  06:27  1.0.3705.478     69,632  Corperfmonext.dll
   17-Jun-2003  21:43                   16,597  Installpersistsqlstate.sql
   17-Jun-2003  21:43                   17,331  Installsqlstate.sql
   09-Sep-2003  00:28                   17,807  Installsqlstatetemplate.sql
   11-Dec-2003  06:25  1.0.3705.478    303,104  Mscorjit.dll
   11-Dec-2003  23:48  1.0.3705.478  1,953,792  Mscorlib.dll
   11-Dec-2003  06:18                   10,284  Mscorlib.ldo
   11-Dec-2003  06:26  1.0.3705.478  2,273,280  Mscorsvr.dll
   11-Dec-2003  06:26  1.0.3705.478  2,269,184  Mscorwks.dll
   11-Dec-2003  07:10  1.0.3705.478     20,480  Perfcounter.dll
   23-Aug-2002  02:23                       15  Smartnav.htm
   30-Jul-2003  00:04                    8,728  Smartnav.js
   11-Dec-2003  23:48  1.0.3705.478  1,179,648  System.data.dll
   11-Dec-2003  23:48  1.0.3705.478  1,695,744  System.design.dll
   11-Dec-2003  23:48  1.0.3705.478  1,175,552  System.dll
   11-Dec-2003  23:48  1.0.3705.478    241,664  System.messaging.dll
   11-Dec-2003  23:48  1.0.3705.478    311,296  System.runtime.remoting.dll
   11-Dec-2003  23:49  1.0.3705.478    131,072  System.runtime.serialization.formatters.soap.dll
   11-Dec-2003  23:48  1.0.3705.478  1,200,128  System.web.dll
   11-Dec-2003  23:48  1.0.3705.478    507,904  System.web.services.dll
   11-Dec-2003  23:50  1.0.3705.478  1,994,752  System.windows.forms.dll
   11-Dec-2003  07:20                   16,632  System.windows.forms.ldo
   11-Dec-2003  07:15  1.0.3705.478     57,344  System.windows.forms.tlb
   11-Dec-2003  23:50  1.0.3705.478  1,302,528  System.xml.dll
   11-Dec-2003  23:47  1.0.3705.478     32,768  Tlbimp.exe
   17-Jun-2003  21:43                    1,419  Uninstallpersistsqlstate.sql
   09-Sep-2003  00:28                    2,119  Uninstallsqlstatetemplate.sql
   11-Dec-2003  23:47  1.0.3705.478     65,536  Wsdl.exe

Detalles de revisión

Esta revisión hace que los mensajes de error de estado de vista contienen más información. Después de aplicar este hotfix, el título de mensaje de error de estado de vista se convierte en "No se puede validar datos." Aunque el nuevo formato mensaje de error no describe ¿qué es el problema, proporciona más información que el formato de mensaje anterior.

Nota Para obtener más información acerca del estado de su estado de vista de datos, puede ejecutar la información de estado de vista que aparece en la mensaje de error a través de un descodificador de estado de vista de otros fabricantes.

Esta revisión establece la propiedad InnerException en el objeto HttpException para que se puede utilizar el método Application_Error para iniciar la excepción subyacente. Asegúrese de que recursivamente registrar todos los errores de propiedad de InnerException .

Este hotfix agrega la siguiente información específica sobre el cliente al mensaje de error View State errores:
  • Dirección IP
  • Número de puerto
  • Agente de usuario
  • Valor de la vista de estado
  • HTTP Referer
  • Ruta de acceso de la página solicitada
Si se produce el error mientras ASP.NET está comprobando el estado de vista código de autenticación de mensajes (MAC), este hotfix agrega un mensaje en el seguimiento de pila que le pide que compruebe la configuración de <machinekey>. El mensaje de error notas también que sólo se pueden registrar los datos de estado de vista a la misma página.

Si se produce el error durante la deserialización, esta revisión agrega el símbolo (token) de LosFormater, el símbolo (token) de _deserializationData y la posición donde ocurrió el error para el mensaje de error.

En la mayoría casos, si el estado de vista se ha truncado los datos, la vista de estado característica será experimentar un error de FormatException en el método FromBase64String y recibirá el siguiente mensaje de error:
Longitud no válida para una matriz de char base-64
Sin embargo, si los datos de estado de vista se ha truncado y es todavía codificado en base64, el error se producirá más adelante en el código.

View State mensaje de error antes de instalar esta revisión

Error de servidor en ' / ViewState ' Application.
--------------------------------------------------------------------------------
El viewstate no es válido para esta página y podría estar dañado.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise la traza de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de excepciones: System.Web.HttpException: el viewstate no es válido para esta página y podría estar dañada.

Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Pila:

[HttpException (0 x 80004005): el viewstate no es válido para esta página y podría estar dañada.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +151
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +423

View State mensaje de error después de instalar esta revisión

Error de servidor en ' / ViewState ' Application.
--------------------------------------------------------------------------------

No se puede validar los datos.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise la traza de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de excepciones: System.Web.HttpException: no se puede validar los datos.

Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Pila:

[HttpException (0 x 80004005): no se puede validar los datos.]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, String strModifier) +866
System.Web.UI.LosFormatter.Deserialize (entrada String) + 44

[HttpException (0 x 80004005): autenticación de viewstate error. 1) Si se trata de un clúster, editar configuración de <machinekey> para que todos los servidores utilizan la misma validationKey y algoritmo de validación. AutoGenerate no se puede utilizar en un clúster. ViewState 2) sólo puede enviarse a la misma página. 3) El viewstate para esta página podría estar dañado.]
System.Web.UI.LosFormatter.Deserialize (entrada String) +102
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0 x 80004005): el viewstate no es válido para esta página y podría estar dañada.
Cliente IP: 127.0.0.1
Puerto: 1095
Agente de usuario: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1 .NET CLR 1.0.3705)
ViewState: dDwzNDM3NTkwMzg7dDw7bDxpPDEPGk8MT47PjtsPHQ8QDA8cDxwPGw8RGF0YUt
HTTP Referer: http://localhost/Connect2Access/WebForm1.aspx
Ruta de acceso: /connect2access/webform1.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +435
System.Web.UI.Page.LoadPageViewState() +16
System.Web.UI.Page.ProcessRequestMain() +439
Nota El valor de ViewState en este ejemplo mensaje de error se ha truncado para caber en el contexto de este artículo.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Para obtener más información sobre la terminología que se utiliza para describir las actualizaciones de producto de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Descripción de la característica estado de vista

ASP es independiente . Cada vez que una aplicación realiza una acción de ida y vuelta desde el servidor en el cliente, los datos no se guardan intrínsecamente. Cada vez que una página Web se registran en el servidor, la página se vuelve a crear. Este comportamiento hace que toda información que está asocia con la página y con los controles en la página, para que se pierde en cada acción de ida y vuelta. Por ejemplo, si una información de tipos de usuario en un cuadro de texto, esa información se pierde en la acción de ida desde el explorador o desde el dispositivo cliente al servidor.

ASP.NET también es independiente. Sin embargo, ASP.NET tiene una nueva característica, el estado de vista, que puede utilizar para conservar los datos entre recorridos de ida a y desde el servidor. Estado de vista se conserva automáticamente valores de propiedad de la página y los valores de todos los controles en la página, entre las acciones de ida y vuelta. Los datos de estado de vista se mantienen como un campo oculto en la página.

Puede utilizar la característica de estado de vista para almacenar sus propios valores específicos de la página a través de las acciones de ida y vuelta cuando la página envía a sí misma. Por ejemplo, si la aplicación mantiene información específica del usuario, puede utilizar la característica de estado de vista para almacenar esta información específica del usuario. Información específica del usuario es información que se utiliza en la página pero no es necesariamente una parte de cualquier control.

back to the "Summary" section

Descripción de la característica MAC de estado de vista

El código de autenticación de mensaje de estado de vista (MAC) es una etiqueta de autenticación (también conocido como una suma de comprobación ) que se crea cuando se aplica un esquema de autenticación, junto con una clave secreta, a un mensaje. Un MAC se calcula y comprobar mediante la misma clave. Por lo tanto, un MAC sólo puede comprobarse por el destinatario previsto. Mac puede crearse mediante varias técnicas de cifrado y algoritmos, como el hash algoritmo seguro (SHA), Message Digest 5 (MD5) o el algoritmo estándar de cifrado de datos (DES).

La característica de MAC de estado de vista está diseñada para evitar que a un cliente envía una solicitud que contiene datos de estado de vista malintencionados. De forma predeterminada, la característica de MAC de estado de vista está habilitada mediante el uso de la enableViewStateMac = "true" indicador en el archivo Machine.config.

La forma más sencilla para determinar si el problema que experimenta está relacionado con el MAC es desactivar la característica. Para ello, establezca el indicador de enableViewStateMac en false . Si ya no experimenta errores de estado de vista, el problema relacionado con el MAC.

Este código de estado de vista se aplica diferente en Microsoft .NET Framework 1.0 antes de instala el hotfix 323744. La revisión de este artículo describe (revisión 832183) incluye la revisión 323744. Si no se instale el hotfix 323744 - solo o con revisión 832183 - en todos los equipos en el entorno también, los equipos que no tienen la revisión 323744 instalado experimentará errores de estado de vista de datos.

Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
323744REVISIÓN: "El View State es válido para esta página y podría estar dañado" mensaje de error en ASP.NET
328546INFORMACIÓN: Paquete de Hotfix de ASP.NET de .NET Framework posterior al Service Pack 2

Propiedades

Id. de artículo: 832183 - Última revisión: viernes, 7 de abril de 2006 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Studio .NET 2002 Professional
  • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition SP1
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Common Language Runtime (included with the .NET Framework) 1.0
  • Microsoft ASP.NET 1.0
Palabras clave: 
kbmt kbqfe kbhotfixserver kbvs2002sp1sweep kbstate kbnetframe100presp3fix kbfix kbbug KB832183 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 832183

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com