none
Échec de la validation MAC Viewstate RRS feed

  • Question

  • Bonjour , j'ai une erreur récurrente sur le site que je suis en train de dévelloper en aspNet , C# sur une base SQL Serveur . J'ai déjà trouvé des choses sur le web concernant ce type d'erreur mais c'est en anglais et même si je le comprend je n'ai pas trouvé comment remédier à mon problème voici le texte de mon erreur si qqn peut me donner une solution il est est le bienvenu ..merci d'avance . NOTA : Mon site est hébergé sur une seule machine...

    Échec de la validation MAC Viewstate. Si cette application est hébergée par une batterie de serveurs ou un cluster, assurez-vous que la configuration <machineKey> spécifie le même validationKey et le même algorithme de validation. AutoGenerate ne peut pas être utilisée dans un cluster.

    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Web.HttpException: Échec de la validation MAC Viewstate. Si cette application est hébergée par une batterie de serveurs ou un cluster, assurez-vous que la configuration <machineKey> spécifie le même validationKey et le même algorithme de validation. AutoGenerate ne peut pas être utilisée dans un cluster.

    Erreur source:

    [Aucune ligne source appropriée]

    Fichier source : App_Web_yqgujclq.0.cs    Ligne : 0

    Trace de la pile:

    [CryptographicException: Le remplissage n'est pas valide et ne peut pas être supprimé.] System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1545747 System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) +257 System.Security.Cryptography.CryptoStream.FlushFinalBlock() +30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo) +164 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +147 [ViewStateException: Viewstate non valide. Client IP: 90.55.230.217 Port: 4786 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729) ViewState: lNzS6GanuXiIqfgicdqHU4n/pkVXMkGB98XMT1OTAbNziwR+Nt2dMshAZB11z9Hg7Re59d0U68plxcFEc54v7kAKE19bIEvqbMZhP5y7YdkEgeNbnjX7gUfnT5O3Sc7ZYuEz/wb42OR5XYNnMUtPk4kgkO3E905vdQNjIwJqnGo/K7VrrvNz0agr0k74od2CKlfGDSSX3vWziI9DF5euVvN/P7uhU7E0hoQsBQAO8ZIWj1L4d8bus2iaokiQWyf6bCyBckBa2K7AfFqN9AaxP35sKOm3GfbUVwWLdDHjGTuiPAHZZ9WGnpydDhpiUUD5b3Qw5bXW7Bna566JfyvvZRkNRM3T8eyYn6A3eGLz2k2tIXZJy9GQqRsRfHYXqGKAyI2gIVtqcfrtktMXBdKscj55phIlpqTG1bU49Dl+8QHuGnxprToTNxJ8wmjYY74SlbObO2RNqeMpR9iqL8aNjsGHTjk5/CSfaU/VZ5LrOKTm6/7u1oufzV6rvuTNHWcOd1qtr1eOJrYFge24wY8qwpamZ3jsOOE8Wc5tvDHLCoTr5fwY6pJUnKibNK+3hvZs0HcqQS4faEekaOCCE0H6n15a+1l8d5UnaQWkocka7Pp32dd6ouXCbSiPUXtC2QDq6G+xW0YT9sIzL5VUEIiqbGlF77lBYDhB4gegaNsfNXjF/fMee3Q6/cVirHOJVgYq2j08U3X0MRHikP06E6Drf/qTrK+NTYHsmoEU+mQq0d/kdFqAaHmw/9yOaspRz0/cBOO5BrfHPYjL2pQdMC6G5CjW5rC3e6pqxQWhD1Qh10KyPItZ8kKFkGqSfdHV5a4Uq3YI13dFm2ZD...] [HttpException (0x80004005): Échec de la validation MAC Viewstate. Si cette application est hébergée par une batterie de serveurs ou un cluster, assurez-vous que la configuration <machineKey> spécifie le même validationKey et le même algorithme de validation. AutoGenerate ne peut pas être utilisée dans un cluster.] System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +267 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +282 System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4 System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37 System.Web.UI.HiddenFieldPageStatePersister.Load() +198 System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +83 System.Web.UI.Page.LoadAllState() +35 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7350 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213 System.Web.UI.Page.ProcessRequest() +86 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18 System.Web.UI.Page.ProcessRequest(HttpContext context) +49 ASP.gestion_organisateurs_saisieorganisateur_aspx.ProcessRequest(HttpContext context) in App_Web_yqgujclq.0.cs:0 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64 


    Informations sur la version : Version Microsoft .NET Framework :2.0.50727.1434; Version ASP.NET :2.0.50727.1434
    jeudi 5 mars 2009 19:36

Réponses

  • Bonjour,

    J'ai eu le même problème chez un client, et il a fallut installer Service Pack 2 du .NET Framework 2.0 (celui-ci est intégré dans le .NET Framework 3.5 SP1).

    Cordialement
    Gilles TOURREAU - MVP C#
    samedi 4 juillet 2009 20:42
    Modérateur

Toutes les réponses

  • Est-ce que par hasar tu essaierais de POSTer vers une autre page que celle qui héberge la FORM (... en changeant le form1.Action) ?

    Si oui, applique la directive à la page qui recoit

    <@Page EnableViewStateMac="false">

    ou globalement,

    <system.web>
        <pages EnableViewStateMac="false">
    jeudi 2 avril 2009 20:57
  • Bonjour,

    J'ai eu le même problème chez un client, et il a fallut installer Service Pack 2 du .NET Framework 2.0 (celui-ci est intégré dans le .NET Framework 3.5 SP1).

    Cordialement
    Gilles TOURREAU - MVP C#
    samedi 4 juillet 2009 20:42
    Modérateur