본문 바로가기

프로그래밍/.NET

[ASP.NET] 유효성 충돌 방지 (ViewState MAC에 대한 유효성 검사가 실패했습니다.)

반응형

ViewState MAC에 대한 유효성 검사가 실패했습니다.


다른 페이지로 Form을 Post방식으로 전송하거나, 해당 페이지 postback이 일어날 때

원본 ViewState를 다른 서버에서 해석하지 못할 때 발생하는 오류다.



[오류]


viewstate MAC에 대한 유효성 검사가 실패했습니다.

웹 팜 또는 클러스터에서 이 응용 프로그램을 호스팅하는 경우에는 <machineKey> 구성에 동일한 validationKey와 유효성 검사 알고리즘을 지정해야 합니다.

클러스터에서는 AutoGenerate를 사용할 수 없습니다.




[해결 방법]


enableViewStateMac="false"를 추가하여, 유효성 충돌을 방지해보자


1. 해당 페이지 page 지시자에 추가한다.


1
<%@ Page EnableEventValidation="false" ViewStateEncryptionMode="Never" EnableViewStateMac="false" ValidateRequest="false"%>
cs



2. web.config의 <system.web> 내부에 추가한다.


1
2
3
<system.web>
    <pages enableViewStateMac="false"
</system.web>
cs


반응형