رفع خطای Validation of viewstate MAC failed در Asp.Net
یکی از خطاهای رایج در Asp.net webform بروز خطای Validation of viewstate MAC failed هست که متن کامل خطا بصورت
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.
این خطا میتواند علل مختلفی داشته باشدکه قصد توضیح آنها را در این پست ندارم و فقط با ارائه یک راه کار میخواهیم که آن را حل کنیم
راه حلی که برای من پاسخ داد ایجاد یک MachineKey بود که به روش زیر آن را ایجاد کردم:
1- IIS ویندوز را اجر کرده و Machine Key را در ان انتخاب کنید
سپس در فرم باز شده در پنل سمت راست گزینه Generate Key را زده و کد تولید شده را در web.config به شکل زیر وارد کنید
کد بالا را داخل System.Web موجود در Web.Config قرار دهید تا مشکل برطرف شود
<system.web> <machineKey validationKey="815BB44EB76E77EFE53CE7CCF4BBD26822A90B06C50FC8420C12E5E84432C885DB5A9662A69D339B92A393FE8DF2B7CC54815EEFF40D0FEA2CD139E3ED7AD05A" decryptionKey="D92E27D9DB1B9E36CA13FA5EAFFEEAD986F7D5A01E1F45BB" validation="SHA1" /> ...