На сайте возникает ошибка с ViewState "Validation of viewstate MAC failed..."

5. Техническая поддержка > WEB > ASP, ASP.NET
примерный текст ошибки:

************
Server Error in '/' Application.
--------------------------------------------------------------------------------
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.
 
*************
 
решение:
 
Скорее всего проблема связана со "сбрасыванием" ViewState. Причиной "сбрасывания" может быть, например, закрытие нити процесса, обслуживающего сессию. Нити могут закрываться по нескольким причинам: сработал таймаут неактивности, возникла ошибка внутри процесса по работе с нитью и процесс ее закрыл и т.п. В этом случае генериться новый ViewState и когда клиент шлет запрос на сервер со "старым" ViewState сервер его не понимает. При генерации нового ViewState меняется ключ шифрования (так настроено по умолчанию в FW) и сервер уже не может расшифровать старый.
Для исправления этой ситуации нужно добавить новый раздел ( machineKey ) в файл web.config <configuration>
<system.web>
<machineKey validationKey="***"
decryptionKey="***"
validation="SHA1"/>
Значение ключей можно сгенерить самим How to create keys by using Visual C# .NET for use in Forms authentication <http://support.microsoft.com/default.aspx?scid=kb;en-us;312906 <http://support.microsoft.com/default.aspx?scid=kb;en-us;312906> >
How to create keys by using Visual Basic .NET for use in Forms authentication <http://support.microsoft.com/default.aspx?scid=kb;en-us;313091 <http://support.microsoft.com/default.aspx?scid=kb;en-us;313091> >



К сожалению, настройками ASP.NET на сервере эта проблема не решается

Add Feedback