2014-03-31 1 views
1

www.blacknight.com으로 호스팅되는 C# ASP.net 웹 사이트가 있습니다. 이것은 지금까지 10 로그인 시도에 대한 1 일viewstate MAC의 유효성 검사에 실패했습니다. - ASP.net

enter image description here

: 나는 내 웹 사이트에 로그인 할 때

때때로 나는 다음과 같은 오류가 발생합니다. 나는 그들에게 연락을했고, 웹 팜이나 클러스터에서 호스팅되지 않았고 ViewState를 점검하지 않는다고 확신했다.

여기에 무엇이 잘못 될 수 있는지 아는 사람이 있습니까? 나는 그것을 때마다 추적하기가 어렵다.

+1

Ajax를 사용할 때 이러한 현상이 발생할 수 있습니다. 그렇지 않다면 web.config 파일에 machinekey를 추가하십시오. – glautrou

답변

1

IIS가 원본 페이지로드와 로그인 시도 사이에서 응용 프로그램을 재활용 할 수 있습니까? web.config에 <machinekey />을 지정하지 않으면 응용 프로그램 시작시 새 컴퓨터 키가 생성됩니다. 그런 다음 포스트 백 동안 이전 컴퓨터 키에서 생성 된 viewstate의 유효성을 검사하려고하면이 예외가 발생합니다.

+0

음, 정직하지 않습니다. 그래서 난 그냥 을 추가하고 그 작동하는지 확인해야합니까 ?? –

+0

@HarryBoy 예, 컴퓨터 키를 추가하고 if가 문제를 해결하는지 확인합니다. –

+0

Ok http://www.eggheadcafe.com/articles/GenerateMachineKey/GenerateMachineKey.aspx에서 하나를 생성하고 아래에 추가했습니다. 다시 게시하고 어떻게 진행되는지 확인하십시오. 이것이 올바르지 않으면 알려주십시오. 고맙습니다 –

2

이 문제를 해결하려면 KB 문서 http://support.microsoft.com/kb/2915218을 참조하십시오. 특히 Web.config에서 명시적인 <machineKey> 요소를 설정해야합니다.

이 부록의 A는 machineKey > 요소를 생성하는 방법을 알려줍니다.

EnableViewStateMac = false로 설정하십시오. 결코 타사 발전기에서 가져온 키를 사용해야합니다. 자신이 생성 한 것을 사용하십시오.

관련 문제