2009-02-25 38 views
18

Recibo un error de estado de vista no válido con respecto a ScriptResource.axd. Me preguntaba si alguno de ustedes podría ayudarme en esto. El error es:Error de estado de vista no válido

2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Request start - URL: /Web/ScriptResource.axd?d=E9hlvtsn8Gr1MyjysW1gFDFYr4CVwstY-sC22tRu5V8d7UyEYz3FhVYGrlhY87n2ihgKh58RrMRhK-Yk2WcQahEaCg_asTInqHK 
2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Application_AuthenticateRequest started 
2009-02-24 09:46:30,021 [13] ERROR ASP.global_asax [(null)] - Unexpected error. User presented with Site Error page. 
System.Web.HttpException: Invalid viewstate. 
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) 
    at System.Web.UI.Page.DecryptString(String s) 
    at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context) 
    at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Esto ocurre en el entorno de producción. No puedo reproducir esto en entornos de desarrollo o prueba. Además, solo usuarios acreditados pueden acceder a estas páginas. Sería realmente si pudieras arrojar algo de luz sobre este asunto.

+0

¿Se utiliza un conjunto de servidores Web en su producción ¿ambiente? –

Respuesta

1

Sugeriría mirar this ... básicamente describe algunos casos donde esto puede suceder dependiendo del tipo de documento. Tuvimos un problema similar, y pareció aparecer erráticamente ... para nosotros fue un conflicto entre nuestro doctype XHTML y el javascript que teníamos en la página. Pudimos resolverlo asegurando que todos nuestros javascript estuvieran correctamente envueltos en etiquetas.

<script> 
    mycode; 
</script> 

se convertiría en

<script> 
// <![CDATA[ 
    mycode; 
// ]]> 
</script> 

Esto puede no ser un problema idéntico, pero si usted tiene un tipo de documento XHTML, mira a ver si tiene caracteres sin escape que no son XML legal alguna parte (como ' < 'caracteres).

0

Esto puede suceder si la machineKey del grupo de aplicaciones que recibe la solicitud de scriptresource.axd es diferente de la del grupo de aplicaciones que sirvió a la página original. Esto es más probable si está usando una granja de servidores web. También puede suceder en un solo servidor si el grupo de aplicaciones se reinicia, ya que se generará una nueva clave de máquina. La solución a cualquiera de los dos es poner una máquina clave fija en su web.config.

2

Como dije, esto podría suceder si está utilizando una Web Farm y las teclas de la máquina no están sincronizadas.

Otra posibilidad es que la fecha de montaje sea en el futuro. Esto lleva a todo tipo de problemas oscuros y vale la pena verificarlo. ¿Tal vez su servidor se encuentra en un huso horario diferente?

0

He notado que Firefox 3.1 Beta causa errores de viewstate no válidos. Es posible que desee revisar sus registros para ver qué navegador se está utilizando cuando se producen estos errores.

+0

Hola Matt, sí, revisé los registros. Ha sucedido con IE8, IE7 y también FF3. Entonces es difícil de creer que sea un problema específico del navegador. Todavía estoy cavando :) ¡Gracias! – CH81

0

Mismo error aquí para User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 6.0; Trident/4.0; GTB5; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0;. CLR NET 3.5.30729; .NET CLR 3.0.30618)

intenté modificar/eliminar declaración DOCTYPE y deformación del Javascript en < // [CDATA [y todavía hay excepciones ...

Para el! momento todo vino de la misma IP

+0

(Es el mismo error IE8. Tenga en cuenta el "Trident/4.0" en la cadena UA). – EricLaw

0

Estoy recibiendo los mismos errores, en realidad solo comenzaron en el último mes o dos, se ha producido en algunos de nuestros sitios y no hemos cambiado ninguno desde diciembre. Esto me hace pensar que un cambio de configuración o una actualización de Windows lo está afectando.

0

¿Qué tan grande es el estado de la vista? Algunos servidores proxy truncarán un estado de vista grande.

Es fácil abusar de viewstate ya que está activado por defecto. Si tiene un viewstate grande, entonces probablemente quiera ver si se desactiva el estado de la vista en los controles que no lo necesitan.

1

MS recommends no declarando su juego de caracteres utilizando una metaetiqueta y configurándolo como un encabezado HTTP en su lugar.

Así quitar

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

y añadir

Response.AddHeader("Content-Type", "text/html; charset=utf-8");

+0

Eso ayudará a algunos, pero no a todos los casos. – EricLaw

5

Creo que estos errores ocurren con diferentes navegadores por diferentes razones, que es lo que hace tan difícil de localizar.

IE8 Bug

Microsoft han dicho un error en IE8 (en algunas circunstancias) generar solicitudes falsas al servidor, que no afectan al usuario, pero que conducen a errores se registran en el lado del servidor.

Ver esta discusión aquí: Bug IE8 – 4K dropped - "Invalid viewstate" when loading ScriptResource.axd(edit: link ahora requiere inicio de sesión, por alguna razón, lo siento)

... particularmente actualización de EricLaw-MSFT cuando dice:

Vale la pena mencionando que cualquiera que esté experimentando un problema aquí en IE6/IE7 o Firefox se encuentra con un problema diferente que no está relacionado con el problema IE8 que se describe a continuación.

Este blog también describe los errores: Bugs in IE8's Lookahead Downloader

Dicen que cambiar la forma de configurar Content-Type ayudará con algunos de los errores, aunque no todos ellos - dicen que es causada por diversos circunstancias oscuras que todavía están mirando.

Actualización: A partir del 01/Apr/2010, estos errores IE8 se han corregido, a través de IE8 actualización acumulativa (KB980182).
En esta publicación: IE8 Lookahead Downloader Fixed se ofrecen más detalles sobre los errores y otras soluciones posibles/parciales (por ejemplo, this one) que no sean esperar a que todos en el mundo descarguen la solución.

Otros navegadores

no se ha dado cuenta todavía, pero otros navegadores también están generando estos errores, presumiblemente por razones diferentes.

Granjas Web

Este problema no se limita a los sitios que se ejecutan en servidores Web, pero si está ejecutando una granja, echa un vistazo a this answer by jesal que puede ayudar a

Cuestiones relacionadas