Mi sembra di avere un "viewstate non valido" di tanto in tanto nel Visualizzatore eventi per la mia applicazione ASP.NET.Problema Viewstate errato non valido in un'applicazione .NET
La maggior parte (95%) sembra fare riferimento a ScriptResource.axd
(l'applicazione utilizza la libreria ASP.NET AJAX). Non è possibile rimuovere la libreria Ajax o come Ajax è utilizzato ovunque ..
Come posso ridurre questi errori? Ricevo circa 100-200 errori al giorno e non ho idea di come risolverli! Vengono da diversi browser, diversi IP e posizioni geografiche.
È difficile per me riprodurre il problema perché a me è capitato a malapena, mi è capitato solo 3-4 volte di punto in bianco.
Errore:
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.
Inoltre ottengo questo errore ogni tanto nel mio codice .NET che avviene al tempo stesso che potrebbe essere correlato:
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)
Posso vedere i coccodrilli nella tua tazza da tè, ma potrebbe trattarsi di un classico attacco di oracle con imbottitura eseguito contro il tuo sito web. Prima di ogni altra cosa, è sempre sicuro crittografare qualsiasi dato sensibile nel file web.config prima che sia troppo tardi. –