如何解码ASP.NET 4.5 ViewState

时间:2013-01-07 23:16:37

标签: viewstate asp.net-4.5

我们最近将我们的网站迁移到.NET 4.5,其中一个更改是将httpFuntime的targetFramework =“4.5”添加到选项以支持ASP.NET 4.5行为。一切都按预期工作,直到我们尝试在本地重现一些异常。在升级之前,我们能够使用视图状态解码器(例如http://www.binaryfortress.com/ASPNET-ViewState-Helper/)来查看存储在视图状态中的值。但是,这似乎不再可能,视图状态似乎在每个页面请求上使用随机密钥加密(每次都更改)。

那么,有没有人知道在ASP.NET 4.5中正确解密/解码viewstate的步骤?

2 个答案:

答案 0 :(得分:6)

自.NET 4以来,.NET 4.5中的加密方法发生了巨大变化。此博客条目概述为:Cryptographic Improvements in ASP.NET 4.5, pt. 2

更新Web.config文件以获得以下标记时:

<httpRuntime targetFramework="4.5" />

这启用了ASP.NET 4.5的新加密功能。您可以通过在配置中添加machineKey元素来显式关闭此特定于ASP.NET 4.5的视图状态编码逻辑:

<machineKey compatibilityMode="Framework20SP1" />

希望这有帮助。

答案 1 :(得分:-1)

您可以在适当的&lt;%@ Page%&gt;中将ViewStateEncryptionMode设置为“Never”指令。