Parece que estoy obteniendo un "estado de vista no válido" de vez en cuando en el visor de eventos para mi aplicación ASP.NET.Problema errático de Viewstate no válido en una aplicación .NET
La mayoría de ellos (95%) parecen estar haciendo referencia a ScriptResource.axd
(la aplicación utiliza la biblioteca ASP.NET AJAX). No hay forma de que pueda eliminar la biblioteca Ajax ya que Ajax se usa en todas partes.
¿Cómo puedo reducir estos errores? Recibo ~ 100-200 errores al día y no tengo ni idea de cómo solucionarlos. Vienen de diferentes navegadores, diferentes direcciones IP y ubicaciones geográficas.
Es difícil para mí reproducir el problema porque apenas me ha pasado, solo me ha pasado 3-4 veces de la nada.
error:
Process information:
Process ID: 4004
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: HttpException
Exception message: Invalid viewstate.
Request information:
Request URL: http://domainnamehere/ScriptResource.axd?d=W1R6x9VzZ2C9SKnIkOmX9VRLhSjJ3nOF1GSQvPwKS3html
Request path: /ScriptResource.axd
User host address: 124.177.170.75
User:
Is authenticated: False
Authentication Type:
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 1
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: 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)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
También consigo este error de vez en cuando en mi código .NET que se produce al mismo tiempo que podría estar relacionada:
Exception raised in GLOBAL.ASAX.Application_Error(): 'Padding is invalid and cannot be removed.' at System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast)
at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
Es posible que vea cocodrilos en su taza de té, pero puede ser un ataque oráculo de relleno clásico que se ejecuta contra su sitio web. Antes que nada, siempre es seguro cifrar los datos confidenciales en su archivo web.config antes de que sea demasiado tarde. –