1

イベント検証ストアをシリアライズおよびデシリアライズしようとしています。ビューステートで同じことを行うために、MSDN のコードを使用しました。EventValidation オブジェクトからデータを取得できないようです。

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 はオブジェクト型 (?)

私はハッシュセット、リストなどを使用しようとしました.

私が得るエラーは次のとおりです。

System.Web.UI.EventValidationStore に関する MSDN の情報は見つかりませんでした。

これが紛らわしい投稿である場合は申し訳ありません。質問の仕方がわかりません。

更新: 1 つの EventValidation base64 文字列のデシリアライズに成功しましたが、他の文字列はとらえどころのないことが証明されています。コード セグメントのものは機能していないようです。

概要: .NET で eventvalidation base64 文字列をデコード/逆シリアル化およびエンコード/シリアル化できる必要があります。

4

1 に答える 1

0

__EVENTVALIDATIONフィールド構造はASP.NETの内部であり、変更される可能性があります。逆シリアル化/シリアル化しようとすることはサポートされていません。それと対話するためのサポートされている方法は、ページValidateEventRegisterForEventValidationAPIを介したものです。

正確に何を達成しようとしていますか?おそらく、サポートされている方法を見つけることができます。

于 2013-01-20T19:51:45.337 に答える