Dans ASP.Net, parfois, j'ai l'erreur suivante - Viewstate échec de la vérification. La raison: le viewstate fourni échec de la vérification de l'intégrité
Contexte: j'ai développé une application web en ASP.Net 3.5 en C#. Il fonctionne très bien mais maintenant quelques utilisateurs ont rapporté qu'ils recevoir une erreur parfois. J'ai essayé de reproduire l'erreur, mais il a été dur. Un temps bien que lorsque je laisse l'application s'asseoir je suis revenu plus tard et a essayé de le déplacer le long et il erronées sur. Je pense que cela a quelque chose à voir avec le délai d'attente, mais je suis en utilisant le point de vue de l'état.
Des idées? Quand je regarde le journal des événements, je ne vois l'erreur suivante entrée.
Je Vous remercie pour votre aide et vos idées!
Jean
Mon journal des événements a les erreurs suivantes:
Code d'événement: 4005
Message d'événement: des Formes échec de l'authentification de la demande. La raison: Le billet fourni a expiré.
Heure de l'événement: 14/03/2008 13:19:26
Heure de l'événement (UTC): 14/03/2008 13:19:26
ID de l'événement: d9f0333c2eed46e0b0207da69d2ea70e
Séquence d'événements: 154
Occurrence de l'événement: 5
Détail de l'événement code: 50202
Code d'événement: 3005
Message d'événement: Une exception non gérée s'est produite.
Heure de l'événement: 3/12/2009 7:49:59 AM
Heure de l'événement (UTC): 3/12/2009 11:49:59 AM
ID de l'événement: 590ac0f6ad734d988e9e02f0fb7800eb
Séquence d'événements: 52
Occurrence de l'événement: 1
Détail de l'événement code: 0
Informations sur l'Application:
Application domain: /LM/W3SVC/32/ROOT-1-128813294498061103
Trust level: Full
Application Virtual Path: /
Application Path: C:\Home\LocalUser\ucpga\Web\
Machine name: 169349-WEB2
Informations sur les processus:
Process ID: 6912
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Voici la dernière erreur:
Code d'événement: 4009
Message d'événement: Viewstate échec de la vérification. La raison: le viewstate fourni échec de la vérification de l'intégrité.
Heure de l'événement: 3/15/2009 10:26:27 PM
Heure de l'événement (UTC): 3/16/2009 2:26:27 AM
ID de l'événement: 3b5be134005e49c3b40400bcaa5cb48d
Séquence d'événements: 56
La survenue de l'événement: 1
Détail de l'événement code: 50203
Informations sur l'Application:
Domaine d'Application: /LM/W3SVC/32/ROOT-1-128816433841748972
Niveau de confiance: Complet
Application De Chemin Virtuel: /
Chemin De L'Application: C:\Home\LocalUser\ucpga\Web\
Le nom de la Machine: 169349-WEB2
Informations sur les processus:
ID de processus: 8892
Nom du processus: w3wp.exe
Nom du compte: AUTORITE NT\SERVICE RÉSEAU
Demande d'informations:
URL de la requête: https://hr.ucpga.org:443/application.aspx
Demande path: /de l'application.aspx
L'utilisateur adresse de l'hôte: 74.160.64.222
Utilisateur:
Est authentifié: Faux
Type D'Authentification:
Nom du compte de threads: 169349-WEB2\ucpga
ViewStateException de l'information:
Message de l'Exception: Invalid viewstate.
L'adresse IP du Client: 74.160.64.222
Port: 1251
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 1.1.4322; InfoPath.1)
- Le site est en cours d'exécution sur IIS7
- John au lieu de l'ajout de répondre avec plus d'infos, vous devez modifier et mettre à jour votre question. C'est la norme sur stackoverflow...le rend facile de trouver de la question / réponse de ce dernier sur...
Vous devez vous connecter pour publier un commentaire.
Ce problème peut souvent être causé par la présence d'auto-généré
<machineKey />
clés dans votre serveurmachine.config
fichier. Chaque fois que votre application recommence, il va générer de nouvelles clés. Cela annule tout chiffré viewstate ou des formulaires d'authentification des billets.Essayer de régler le
<machineKey />
validationKey
etdecryptionKey
de valeurs fixes. Voir le lien suivant pour plus d'informations:Je doute fort si ce problème n'a rien à voir avec l'état d'affichage. Il a plus à voir avec l'état de Session et les cookies d'Authentification.
Votre demande est en cours d'exécution sur une batterie de serveurs Web/jardin ? Si oui, vous devriez jeter un oeil à cet article.
Si pas, cette erreur peut souvent se produire si votre FormsAuthenticationTicket délai d'attente est de moins de Timeout de la Session. Ce qui se passe est que le Auth ticket expire plus tôt que la session de l'utilisateur et la prochaine demande pas pu être authentifié.
Cela ressemble à un problème d'authentification. Vous probally ont un délai d'attente fixé sur le ticket d'authentification qui est expirant. Si vous utilisez un glissement délai d'attente puis chaque fois que vous frappez le serveur le billet sera renouvelé. Si vous n'avez pas vos billets expirera et vous aurez besoin pour gérer ce cas.
Edit:
Vous pouvez consulter cette soutien article pour voir si elle s'applique à vous.
Aussi, vous pouvez consulter cette l'état d'affichage de la visionneuse peut vous aider à déterminer si l'état d'affichage n'est pas valide.
Voici une autre bonne poste à partir d'un Microsoft Ingénieur d'Escalade
J'ai aussi eu ce message d'erreur....
Si vous regardez l'erreur, il est probable que votre chiffré chaîne de requête URL. Ce qui se passe est le webresource.axd URL générée chaîne a identités qui ont été chiffrés à l'aide de la machinekey réglage. Ces expirent et si vous avez une page où vous vous asseyez alors essayer et de le soumettre à l'aide de la chaîne cryptée, l'ID d'Événement 1316 ou 4009 est déclenché. Vous camn probablement la capture de cette exception dans l'événement Application_Error et de vérifier si le CryptographicException a été congédié.