C# viewstate中存储的对象是否序列化?如果是,如何找到每个viewstate[“key”的大小?

C# viewstate中存储的对象是否序列化?如果是,如何找到每个viewstate[“key”的大小?,c#,serialization,viewstate,C#,Serialization,Viewstate,我正在开发的一个c#asp.net应用程序的viewstate通过viewstate[“SomeKey”]存储了大量内容,更不用说几个网格的幕后内容了。。。而且它是膨胀的 我的任务是降低viewstate的大小 我发现,在应用程序中,viewstate用于存储代码中使用的各种对象,我希望使用更合适的方法保留会话端(如会话[“SomeKey”]),或者简单地重新填充服务器端的对象。。。无论如何 我想通过在整个代码中查找存储在viewstate中的最重对象,找到可以实现最大好处的地方。。。这是假设它

我正在开发的一个c#asp.net应用程序的viewstate通过viewstate[“SomeKey”]存储了大量内容,更不用说几个网格的幕后内容了。。。而且它是膨胀的

我的任务是降低viewstate的大小

我发现,在应用程序中,viewstate用于存储代码中使用的各种对象,我希望使用更合适的方法保留会话端(如会话[“SomeKey”]),或者简单地重新填充服务器端的对象。。。无论如何

我想通过在整个代码中查找存储在viewstate中的最重对象,找到可以实现最大好处的地方。。。这是假设它们是序列化的,我想它们一定是。。。而不是拿着一个引用,希望在发回时该对象在内存中

我想做如下事情

var vsSomeKey = ViewState["SomeObjectKey"];
vsSomeKey.length.....

。。。希望能在此时找到viewstate中为该键使用了多少空间。。。有什么想法吗

很确定它是base64编码的。试试这个: