Aquí podría ser tu PUBLICIDAD


ViewState inválido solo en Safari

votos
11

Uno de los sitios que mantengo depende en gran medida del uso de ViewState(no es mi código). Sin embargo, en ciertas páginas donde ViewStateestá extra-hinchado, Safari arroja un Validation of viewstate MAC failederror.

Esto parece suceder solo en Safari. Firefox, IE y Opera se cargan con éxito en el mismo escenario.

Publicado el 04/08/2008 a las 13:38
fuente por usuario Anthony Main
En otros idiomas...        العربية       

3 respuestas

votos
4

Mientras secundo la solución de Channel 9, también tenga en cuenta que en algunos entornos alojados Safari no se considera un navegador de nivel superior. Es posible que deba agregarlo a la capacidad de la frente de su aplicación para utilizar algunas características de ASP.Net.

Esa fue la causa raíz de algunos dolores de cabeza que tuvimos para el sitio de un cliente que utilizaba el control del menú ASP.

Respondida el 04/08/2008 a las 02:44
fuente por usuario Rob Allen


Aquí podría ser tu PUBLICIDAD


votos
3

Mi primer puerto de escala sería revisar los elementos en la página y ver qué controles:

  1. Aún funcionará cuando desactive ViewState
  2. Se puede mover de la página a una llamada AJAX para que se cargue cuando sea necesario

En su defecto, y aquí está la exención de responsabilidad: nunca he usado esta solución en un sitio web, pero en el pasado en el que quise eliminar ViewStates masivos en aplicaciones de audiencia limitada, he almacenado ViewState en la sesión.

Me ha funcionado porque el impacto en la memoria no es significativo para la cantidad de usuarios, pero si está ejecutando un sitio bastante popular, no recomendaría este enfoque. Sin embargo, si la solución de sesión funciona para Safari, siempre se puede detectar el agente de usuario y mezclar adecuadamente.

Respondida el 04/08/2008 a las 02:00
fuente por usuario tags2k

votos
1

He estado investigando un poco sobre esto y aunque no estoy completamente seguro de que sea la causa, creo que es porque Safari no devuelve el conjunto completo de resultados (por lo tanto, lo recorta).

He estado consultando con otro desarrollador y encontré la siguiente publicación en el Canal 9 que recomienda hacer uso del servicio SQL State para almacenar viewstate evitando el problema de la devolución de datos y también el tamaño de la página.

http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702

¿Esto parece ser la mejor solución?

Respondida el 04/08/2008 a las 01:40
fuente por usuario Anthony Main