2013-01-20 1 views
1

이벤트 유효성 검사 저장소를 serialize 및 deserialize하려고합니다. 나는 MSDN에서 코드를 사용하여 viewstate와 동일한 작업을 수행했습니다. EventValidation 개체에서 데이터를 가져올 수 없습니다.EventValidation 개체를 deserialize하십시오.

System.Web.UI.LosFormatter los = new System.Web.UI.LosFormatter(); 
var t = los.Deserialize("/wEdAAXD48AAvF6Ff7P5UOQbT3VqkrDKlMWdnNXfGOHHYL4xn7VF+rYDddmo2pWyOYlEzR9ytSa0+vS8Kw5xkFTTwf/ogY5mU3PIFIVTnINRkldVDi8fjE6FJuo5OYrccfM1phFxAalSeL3MjHSQK44wYPDs") 
HashSet<object> h = new HashSet<object>(); 
foreach (object d in t) 
{ 
    DoSomething() 
} 

System.Web.UI.EventValidationStore는 오브젝트 타입 (?) 나는 해시 세트, 목록 등 나는이 새로운 오전를 사용하려고 노력하고 밖으로했다입니다

내가 어떻게하는지 알면서도 그것을 배우는 것을 좋아할 것입니다.

내가 오류입니다 " '객체'에 대한 공공의 정의가 포함되어 있지 않기 때문에 foreach 문 유형 '개체'의 변수에 작동 할 수 없습니다 'GetEnumerator를'"

나는에 대해 MSDN에 아무것도 찾을 수 없습니다 System.Web.UI.EventValidationStore.

혼란스러운 게시물 인 경우 사과드립니다. 요청하는 방법을 모르겠습니다.

업데이트 : 하나의 EventValidation base64 문자열을 성공적으로 deserialize했지만 다른 것들은 성공적이지 못했습니다. 코드 세그먼트의 코드가 작동하지 않는 것 같습니다.

요약 : .NET에서 eventvalidation base64 문자열을 디코딩/비 직렬화 및 인코딩/직렬화 할 수 있어야합니다.

답변

0

__EVENTVALIDATION 필드 구조는 ASP.NET 내부이며 변경 될 수 있습니다. deserialize/serialize하려고 시도하는 것은 지원되지 않습니다. 지원되는 상호 작용 방법은 페이지의 ValidateEventRegisterForEventValidation API를 통해 이루어집니다.

정확히 달성하려는 것은 무엇입니까? 아마도 지원되는 방법을 찾을 수있을 것입니다.

관련 문제