Je travaille sur une application de boutique en ligne en utilisant des formulaires Web C# 3.5 et MS SQL Server 2008. La solution fonctionne très bien sur VS2010, en utilisant le serveur Web intégré. Ensuite, je télécharge le projet dans un sous-domaine de test et la page d'accueil se charge; dès que je clique sur un lien de menu, j'obtiens ceci: La validation de viewstate MAC a échoué. Cela ne s'est pas produit au début de mon projet et je n'ai rien construit de bizarre ou de bizarre, des trucs CRUD normaux avec un concept de structure de menu variable en session. Je suis perplexe et maintenant je demande l'aide du pool génial de stackoverflow. Aucune suggestion?Erreur ViewState sur le serveur Web partagé
Je coller les informations de trace de la pile de la page d'erreur:
[ViewStateException: Invalid viewstate.
Client IP: omitted by user
Port: 53604
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3)
ViewState: /wEPDwULLTEwMDUyNjYzMjhkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYMBRJjdGwwMCRpbWdCX05hcGtpbnMFFmN0bDAwJGltZ0JfVGFibGVjbG90aHMFEmN0bDAwJGltZ0JfUnVubmVycwUSY3RsMDAkaW1nQl9QaWxsb3dzBRFjdGwwMCRpbWdCX0Fwcm9ucwUQY3RsMDAkaW1nQl9XcmFwcwURY3RsMDAkaW1nQl9RdWlsdHMFEmN0bDAwJGltZ0JfSG9saWRheQUUY3RsMDAkaW1nQl9PdXRlcndlYXIFEmN0bDAwJGltZ0JfSnVkYWljYQUTY3RsMDAkaW1nQl9LaWRTdHVmZgUVY3RsMDAkaW1nQl9CYXJnYWluQmlufgoWd3FjkchVtkJTfTl/dw7C/Ks=
Referer: http://omitted by user/
Path: /Default.aspx]
[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +106
System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +14
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +237
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() +207
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +105
System.Web.UI.Page.LoadAllState() +43
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\2e1de3e2\ec16856d\App_Web_default.aspx.cdcab7d2.2xg-fqvv.0.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
espérons que cette aide. J'essaie d'attirer l'attention de mon hébergeur, mais ils ne répondent pas à mon ticket. Je veux vraiment les appeler, mais je vais retenir pour le moment.
Robert
Est-ce correct de répondre à votre propre question? Je viens de perdre 2 points, eh bien. Comme j'ai mille à abandonner. Ha. Ce site est très utile chaque fois que je suis perplexe. – rjsteward