Ошибка проверки viewstate MAC [дубликат]

Возможные Дубликаты:
настройка ViewStateUserKey дает мне ошибку "проверка viewstate MAC failed"

я применил решения постов на StackOverflow, но они не для моей проблемы.

подробности проблемы:

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.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: 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.

[HttpException (0x80004005): Unable to validate data.]
   System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +10986325
   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +295

[ViewStateException: Invalid viewstate. 
    Client IP: 131.155.68.60
    Port: 53999
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16
    ViewState: /wEPDwULLTIxNDQxNzQ5ODlkZDYHBedPRvEzZrTTrJvp9yAr5yfa
    Referer: http://rms.rextron.eu/login.aspx?ReturnUrl=%2fdefault.aspx
    Path: /login.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) +148
   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +10959605
   System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +59
   System.Web.UI.HiddenFieldPageStatePersister.Load() +10959704
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +11043464
   System.Web.UI.Page.LoadAllState() +46
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11038983
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11038522
   System.Web.UI.Page.ProcessRequest() +91
   System.Web.UI.Page.ProcessRequest(HttpContext context) +240
   ASP.login_aspx.ProcessRequest(HttpContext context) in c:WindowsMicrosoft.NETFramework64v2.0.50727Temporary ASP.NET Filesrootec5a6be4c12deApp_Web_ptjxac-a.1.cs:0
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

Я уже пытался поместить это в интернете.config:

<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never">

2 ответов


Я задал аналогичный вопрос некоторое время назад. Ты этот пост? Еще одна вещь, которая помогла мне с этой ошибкой, - установка machineKey. Смотрите это страница Microsoft о проблеме и настройке ключа компьютера.


у меня сегодня возникла эта проблема.

короче говоря-я скопировал часть кода формы с аналогичной страницы и забыл изменить действие формы:

<form id="Form1" action="search.aspx" method="post" runat="server">

</form>

форма результатов.aspx должны быть:

<form id="Form1" action="results.aspx" method="post" runat="server">

</form>

Я бы рекомендовал кому-нибудь еще проверить это, а также любые наследует значения, прежде чем углубляться в config и другие настройки.