이란 ASP.Net에서 가끔 다음과 같은 오류가 발생합니다-Viewstate 확인에 실패했습니다. 이유:제공된 viewstate가 무결성 검사에 실패했습니다.




windows 7 iis asp net (4)

나는 또한이 오류가 ....

오류를 보면 암호화 된 URL 쿼리 문자열 일 가능성이 높습니다. webresource.axd 생성 URL 문자열은 machinekey 설정을 사용하여 암호화 된 ID를가집니다. 유효 기간이 만료되며 암호화 된 문자열을 사용하여 앉아서 제출하는 페이지가있는 경우 이벤트 ID 1316 또는 4009가 해고됩니다. Application_Error 이벤트에서이 예외를 캡처하고 CryptographicException이 시작되었는지 여부를 확인하십시오.

배경 : ASP.Net 3.5에서 C #으로 웹 응용 프로그램을 개발했습니다. 그것은 좋은 실행하지만 지금은 몇 사용자가 때로는 오류가 발생했다고보고했습니다. 오류를 복제하려고 시도했지만 어렵습니다. 한 번만 내가 앱을 앉아있게했을 때 나는 나중에 되돌아 왔고 그것을 따라 움직이려고했다. 그리고 그것은 잘못되었다. 나는 타임 아웃과 관련이 있다고 생각하지만 뷰 상태를 사용하고있다.

어떤 아이디어? eventLog를 보면 다음 오류 항목이 표시됩니다.

당신의 도움과 아이디어에 감사드립니다!

남자

내 이벤트 로그에 다음과 같은 오류가 있습니다.

이벤트 코드 : 4005

이벤트 메시지 : 요청에 대한 폼 인증에 실패했습니다. 이유 : 제공된 티켓이 만료되었습니다.

이벤트 시간 : 14/03/2008 13:19:26

이벤트 시간 (UTC) : 14/03/2008 13:19:26

이벤트 ID : d9f0333c2eed46e0b0207da69d2ea70e

이벤트 시퀀스 : 154

이벤트 발생 : 5

이벤트 세부 정보 코드 : 50202

이벤트 코드 : 3005

이벤트 메시지 : 처리되지 않은 예외가 발생했습니다.

이벤트 시간 : 2009 년 3 월 12 일 7:49:59 AM

이벤트 시간 (UTC) : 3/12/2009 11:49:59 AM

이벤트 ID : 590ac0f6ad734d988e9e02f0fb7800eb

이벤트 시퀀스 : 52

이벤트 발생 : 1

이벤트 세부 정보 코드 : 0

신청 정보 :

Application domain: /LM/W3SVC/32/ROOT-1-128813294498061103 

Trust level: Full 

Application Virtual Path: / 

Application Path: C:\Home\LocalUser\ucpga\Web\ 

Machine name: 169349-WEB2 

프로세스 정보 :

Process ID: 6912 

Process name: w3wp.exe 

Account name: NT AUTHORITY\NETWORK SERVICE 

최신 오류는 다음과 같습니다.

이벤트 코드 : 4009 이벤트 메시지 : Viewstate 확인하지가 못했습니다. 이유 : 제공된 viewstate가 무결성 검사에 실패했습니다. 이벤트 시간 : 3/15/2009 10:26:27 PM 이벤트 시간 (UTC) : 3/16/2009 2:26:27 AM 이벤트 ID : 3b5be134005e49c3b40400bcaa5cb48d 이벤트 시퀀스 : 56 이벤트 발생 : 1 이벤트 세부 정보 코드 : 50203

응용 프로그램 정보 : 응용 프로그램 도메인 : / LM / W3SVC / 32 / ROOT-1-128816433841748972 신뢰 수준 : 전체 응용 프로그램 가상 경로 : / 응용 프로그램 경로 : C : \ Home \ LocalUser \ ucpga \ Web \ 컴퓨터 이름 : 169349-WEB2

프로세스 정보 : 프로세스 ID : 8892 프로세스 이름 : w3wp.exe 계정 이름 : NT AUTHORITY \ NETWORK SERVICE

요청 정보 : 요청 URL : https://hr.ucpga.org:443/application.aspx 요청 경로 : /application.aspx 사용자 호스트 주소 : 74.160.64.222 사용자 :
인증 됨 : 거짓 인증 유형 :
스레드 계정 이름 : 169349-WEB2 \ ucpga

ViewStateException 정보 : 예외 메시지 : 잘못된 viewstate입니다. 클라이언트 IP : 74.160.64.222 포트 : 1251 사용자 에이전트 : Mozilla / 4.0 (호환 가능, MSIE 7.0, Windows NT 5.1, GTB5, .NET CLR 1.1.4322, InfoPath.1)


이 문제는 종종 서버의 machine.config 파일에 <machineKey /> 키가 자동 생성되어 발생합니다. 응용 프로그램이 새로 시작될 때마다 새 키가 생성됩니다. 기존 암호화 된 viewstate 또는 폼 인증 티켓을 무효화합니다.

<machineKey /> validationKeydecryptionKey 를 고정 값으로 설정하십시오. 자세한 내용은 다음 링크를 참조하십시오.

방법 : ASP.NET 2.0 (MSDN)에서 MachineKey 구성


나는이 문제가 Viewstate와 관련이 있는지를 강력하게 의심합니다. 세션 상태 및 인증 쿠키와 더 관련이 있습니다.

응용 프로그램이 웹 팜 / 가든에서 실행되고 있습니까? 그렇다면 이 기사를 살펴 봐야합니다.

그렇지 않은 경우 FormsAuthenticationTicket 시간 초과가 세션 시간 초과보다 작 으면이 오류가 일반적으로 발생할 수 있습니다. Auth 티켓이 사용자의 세션보다 빨리 만료되고 다음 요청을 인증 할 수 없게됩니다.


인증 문제처럼 보입니다. 만료되는 인증 티켓에 대해 시간 초과 설정을 사용하는 것이 좋습니다. 슬라이딩 타임 아웃을 사용하면 서버에 도달 할 때마다 티켓이 갱신됩니다. 귀하가 티켓을 소진하지 못하면이 케이스를 처리해야합니다.

편집하다:

지원 문서를 확인하여 해당 지원 문서가 귀하에게 적용되는지 확인할 수 있습니다.

또한이 뷰 상태 뷰어 를 확인하면 뷰 상태가 유효하지 않은지 판단하는 데 도움이 될 수 있습니다.

Microsoft Escalation Engineer 의 또 다른 좋은 소식입니다.





viewstate