Después de publicar una nueva versión de mi aplicación web ASP.NET MVC, a menudo veo esta excepción lanzada al navegar en el sitio:ASP.NET MVC Validación de ViewState MAC no
System.Web.Mvc.HttpAntiForgeryException: No se proporcionó un token antifalsificación requerido o no fue válido. ---> System.Web.HttpException: la validación de viewstate MAC falló. Si esta aplicación está alojada en una Web Farm o clúster, asegúrese de que la configuración especifique la misma validationKey y el mismo algoritmo de validación. AutoGenerate no se puede usar en un clúster. ---> System.Web.UI.ViewStateException: viewstate no válido.
Esta excepción continuará ocurriendo en cada página que visito en mi aplicación web hasta que me cierre de Firefox. Después de reabrir Firefox, el sitio funciona perfectamente. ¿Tienes idea de lo que está pasando?
Notas adicionales:
- No estoy usando cualquier control ASP.NET Web (no hay casos de runat = "server" en mi solicitud)
- Si saco la <% = Html .AntiForgeryToken%> de mis páginas, este problema parece desaparecer
todavía estoy recibiendo el error incluso si entro en la machineKey como este. ¿Podría ser que el machine.config en el servidor (no tengo acceso a esto) no está configurado correctamente? – jesperlind
@jesperlind: (Un poco tarde, pero cualquiera que lea esto podría ser ayudado ...) Aún obtiene el error porque tiene una cookie de antes de agregar la clave del equipo. Solo funcionará sin problemas si tiene la llave de la máquina bloqueada desde el principio. – Guffa
Nota: No use la clave de máquina exacta del código anterior. Si todos los sitios tienen la misma clave de máquina, es fácil de eludir. Utilice un generador de claves en línea para generar una clave única, por ejemplo http://aspnetresources.com/tools/machineKey – Guffa