2009-12-10 5 views
0

내 웹 페이지가 5 분 이상 유휴 상태이면 다음 오류가 발생합니다.웹 페이지의 Viewstate 오류

오류 : Sys.WebForms.PageRequestManagerServerErrorException : viewstate MAC의 유효성 검사에 실패했습니다. 이 응용 프로그램이 웹 팜 또는 클러스터에서 호스팅되는 경우 구성에서 동일한 validationKey 및 유효성 검사 알고리즘을 지정해야합니다. AutoGenerate는 클러스터에서 사용할 수 없습니다. 소스 파일 : http://www.dial4jobz.com/ScriptResource.axd?d=Xl5p0QQ_qaR3K9bIVhwC3LyqjOX_oAKyeLj_-uS5j1VoFExVtm3XAHiq64EGJt04xntLJvh-9y3pvN3dvKgg5b6sQwkFvX7GT4f0aKn7iyc1&t=73e6f815

Dono, 와트는이 오류의 원인은 내가 돈 .. 나는 웹 페이지를 열거야, 그리고 내가 접근하고있어 5 분 후에는 오류의 종류를 보여주고있다 ..입니다 ' t 하브 어떤 단서가 왜이 오류가 발생합니다 .. PLZ, 나에게 어떤 생각을 줘 ???

답변

0

하이 vaishu, 이보고에서을 가지고, 아래의 코드를 사용하여 u는 추가 정보를 친절하게 아래 링크를 참조해야하는 경우

<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" /> 

시도 이 validation-of-viewstate-mac-failed-error

1

나는 이것이 내가 찾은 두 가지 솔루션이며, 같은 문제를 가지고 당신이 WebFarm 사용하지 않는 경우 그 도움이 될 수 있습니다 : 페이지 (에서 .aspx)에

1. 해제의 ViewState MAC

를 @ 페이지 지시문을 사용하면 EnableViewStateMac="false" 속성을 추가 할 수 있습니다. 이렇게하면 검사를 비활성화하고 문제가 사라집니다.

불행하게도 마이크로 소프트는 보안상의 이유로이 일을하지 않는 것이 좋습니다 :

This attribute should never be set to false in a production Web site, even if the application or page does not use view state. The view state MAC helps ensure the security of other ASP.NET functions in addition to view state.

출처 : Microsoft

2. HTML을 일으키는 ASP.Net에서 문제가

이 문제는 <form> 태그에 "action"속성이 설정된 경우 발생합니다.

<form runat="server" action="page.aspx"> 

당신이 지금과 같이해야한다, 그래서 문제를 제거합니다이 속성을 제거함으로써 : 예를 들어

<form runat="server"> 

은 분명히이 솔루션은 다른 문제를 야기 할 수 있습니다를, 당신의 응용 프로그램에 따라 다릅니다. 하나의 큰 문제점은 Ajax를 사용하여 페이지를로드 할 때입니다.

3. 않도록 ViewStates 어떤 경우에는

이 ViewStates 제거하는 것은 매우 쉬운 일 수 Ajax를 사용하여. Ajax 요청을 서버에 전송하여 작업을 수행 한 다음 결과를 표시 할 수 있으므로 ViewState를 사용할 필요가 없습니다. 이렇게하면 ViewState 유효성 검사에 대한 문제가 발생하지 않습니다.

위의 내용이 문제를 해결하지 못하는 경우 도움이 될만한 다른 제안 사항이 those pages에 있습니다.