Système.Web.L'INTERFACE utilisateur.ViewStateException ,Invalide viewstate
Mon site web est en train de jeter les exceptions ci-dessous tous les jours et je n'arrivais pas à trouver la solution.
j'ai fait quelques recherches sur internet et c'est ce que je fais jusqu'à présent. l'ajout d'option en dessous à aspx ne résoudra pas le problème.
ValidateRequest="false" EnableEventValidation="false"
ViewStateEncryptionMode="Jamais" EnableViewStateMac="false"
Aussi, mon Renvoi de l'Url est l'URL est correcte et je n'ai aucune idée de comment ça se rediriger avec deux (même) des paramètres. il n'existe pas de tel lien dans ma page de renvoi. S'il vous plaît aider.
JOURNAL DES ERREURS
URL : http://www.abcd.com/company-details.aspx?com=asia-pacific-pte-ltd&com=asia-pacific-pte-ltd
referral URL : http://www.abcd.com/companies/asia-pacific-pte-ltd/
Inner Exception Type: System.Web.UI.ViewStateException
Inner Exception: Invalid viewstate. Client IP: 192.162.19.193 Port: 1966 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; MRA 6.0 (build 6001)) Presto/2.12.388 Version/12.11 ViewState: /wEPDwULLTEyMTAyMTY3NDAPZBYCAgMPZBYOZg8QDxYGHg1EYXRhVGV4dEZpZWxkBQdDb3VudHJ5Hg5EYXRhVmFsdWVGaWVsZAUNQ2xlYW5fQ291bnRyeR4LXyFEYXRhQm91bmRnZBAVCgNBbGwFQ2hpbmEJSG9uZyBLb25nBUluZGlhCUluZG9uZXNpYQhNYWxheXNpYQtQaGlsaXBwaW5lcwlTaW5nYXBvcmUIVGhhaWxhbmQHVmlldG5hbRUKA0FsbAVjaGluYQlob25nLWtvbmcFaW5kaWEJaW5kb25lc2lhCG1hbGF5c2lhC3BoaWxpcHBpbmVzCXNpbmdhcG9yZQh0aGFpbGFuZAd2aWV0bmFtFCsDCmdnZ2dnZ2dnZ2dkZAIBDxAPFgYfAAUISW5kdXN0cnkfAQUOQ2xlYW5fSW5kdXN0cnkfAmdkEBXFAgNBbGwSQWR2YW5jZWQgTWF0ZXJpYWxzC0FkdmVydGlzaW5nCkFlc3RoZXRpY3MLQWdyaWN1bHR1cmUkQWdyaWN1bHR1cmUgLSBBZ3JpY3VsdHVyYWwgTWFjaGluZXJ5G0FncmljdWx0dXJlICYgRm9vZCBQcm9kdWN0cxBBaXItY29uZGl0aW9uaW5nHUFpci1maWx0cmF0aW9uICYgUHVyaWZpY2F0aW9uB0FpcnBvcnQJQWx1bWluaXVtFEFuYWx5dGljYWwgRXF1aXBtZW50GkFuYWx5dGljYWwgSW5zdHJ1bWVudGF0aW9uFUFuYWx5dGljYWwgVGVjaG5vbG9neRZBbmQgSW50ZXJpb3IgRGVzaWduZXJzEUFuaW1hbCBQcm9kdWN0aW9uCEFudGlib2R5KUFwc...
Inner Source:
Exception Type: System.Web.HttpException
Exception: The state information is invalid for this page and might be corrupted.
Stack Trace: at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) at System.Web.UI.HiddenFieldPageStatePersister.Load() at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.exhibition_details_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0f461847\442b0502\App_Web_bfjqxdef.20.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Mise à JOUR
j'ai corrigé l'erreur par la compression du ViewState lien ci-dessous
http://www.codeproject.com/Articles/14733/ViewState-Compression
et fixe la longueur non Valide pour le Base-64 char matrice d'erreur en remplaçant la méthode originale avec cette.
protected override object LoadPageStateFromPersistenceMedium()
{
string viewState = Request.Form["__VSTATE"];
viewState = viewState.Replace(" ", "+");
int mod4 = viewState.Length % 4;
if (mod4 > 0)
{
viewState += new string('=', 4 - mod4);
}
byte[] bytes = Convert.FromBase64String(viewState);
bytes = Compressor.Decompress(bytes);
LosFormatter formatter = new LosFormatter();
return formatter.Deserialize(Convert.ToBase64String(bytes));
}
Merci à tous pour l'aide 🙂
OriginalL'auteur bluebird | 2013-05-06
Vous devez vous connecter pour publier un commentaire.
Je suis désolé de dire cela, mais votre site n'ont pas de quoi, et vous avez besoin de ré-activer votre EventValidations dès que possible.
Ce que vous voyez est une tentative de piratage de votre site en envoyant de nombreux test numéros avec votre état d'affichage en essayant de trouver votre clé de hachage.
La IP vous donner ont une grande liste de l'activité des derniers jours.
Maintenant, alternative, ce qui peut provoquer cette erreur est la rupture de l'état d'affichage. Vous pouvez compresser et de le diviser si vous avez un trop grand ViewState. Vous pouvez également désactiver tous les contrôles qui ne sont pas nécessaires. Vous pouvez également ajouter un le journal pour voir de l'intérieur ce qui se passe à droite sur une page de base.
j'obtiens cette erreur maintenant, Invalide la longueur de Base-64 char tableau. aider
Si vous le voyez sur le journal ne, vérifiez l'IP, comme je l'ai dis vous c'est probablement un hack essayez et vous n'avez pas besoin de s'inquiéter. Si vous le voyez en tant qu'utilisateur... alors c'est peut être un problème.
OriginalL'auteur Aristos
oui ça fonctionne pour moi aussi
ici en vbnet
Compresseur.vb
et ce que vous coller à l'intérieur de défaut.aspx
il doit
Importations Système.IO
OriginalL'auteur rom m