非常に大きなビューステート (>300KB) を持つページがあります。...ええ、私は知っています。この異常を 1 つのユーザー コントロールに絞り込みましたが、そのコントロールがそこに何を入れているのかを正確に判断するのに苦労しています。
ページで SavePageStateToPersistenceMedium をオーバーライドしましたが、渡されたビューステート オブジェクトを操作するのが苦手です。オブジェクト内のすべてを出力する再帰関数に渡すことはできますか?
自由に入手できるビューステート デコーダーを使用してみましたが、どれも機能しませんでした。ビューステートを逆シリアル化しようとすると、常にエラーが発生します。
ここでコードスニペットを探しています。
ありがとう、
マーク
トレースの提案をありがとう、特に。trace.axd のこと。しかし、それはまだコントロールの大きさを教えてくれるだけで、ビューステートに何があるかは教えてくれません。ビューステートに誤ってシリアライズしているオブジェクトがあるかどうかを確認できるようにしたいと考えています。
1743 次
4 に答える
1
于 2009-03-23T22:31:13.463 に答える
1
以前は trace.axd を使用していました。各リクエストを一覧表示し、viewstate の内容をダンプします。web.config でトレースを有効にする必要があります。リクエストが多い場合は、キャッシュ サイズを 10 以上に更新することをお勧めします。
于 2009-03-20T20:31:53.153 に答える
0
ローカル マシンの page ディレクティブに Trace="true" を追加するだけです。コントロール ツリー セクションには、各コントロールのビューステート サイズが表示されます。
于 2009-03-20T21:03:22.920 に答える