c# - 设置 ViewStateUserKey 给我一个 "Validation of viewstate MAC failed"错误

标签 c# asp.net asp.net-2.0 viewstate failed-to-load-viewstate

我的 BasePage 类中有以下内容,我的所有 ASPX 页面都派生自该类:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    ViewStateUserKey = Session.SessionID;
}

我还在 Web.config 中设置了一个 machineKey。我不认为这个错误是由网络场引起的,因为这也发生在我的开发机器上。

我的主机现已升级到 .NET 3.5 SP1。此次更新后,每次我使用上面的 ViewStateUserKey 设置进行编译时,我都会在每次回发时不断收到“Validation of viewstate MAC failed”错误。

我在这里做错了什么?对于最新的框架更新,是否还需要此设置?

最佳答案

好的 - 我迟到了一年的谈话 - 但这是正确的答案吗?这仅适用于经过身份验证的用户并且使用 ViewStateUserKey 作为用户名比 session ID GUID 更容易猜测的情况。

顺便说一句,如果您想“修复”代码,请使用 session ID,但是您必须设置一个 session 变量以使 session ID 停止每次都更改。前任。 Session["Anything"] = DateTime.Now

ViewStateUserKey = Session.SessionID;

这当然是假设您要使用 session ,否则您需要使用一些其他 key ,例如用户名或保存在 cookie 中的任何其他 guid。

关于c# - 设置 ViewStateUserKey 给我一个 "Validation of viewstate MAC failed"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418233/

相关文章:

javascript - 如何将javascript变量传递给服务器端asp.net

c# - 类中的静态方法 - 在这种情况下可以吗?

Jquery 自动完成 JSON 从 Web 服务返回结果,但它没有显示在下拉列表中

c# - 如何检查 SQL Server CE 3.5 中是否存在表

autocomplete - 带有下拉建议的文本框

c# - XAML 应用程序工作流是什么样的

c# - 如何配置 IronPython.StdLib 2.7.3

c# - IronPython 和 C# - 对 C# 对象的脚本访问

javascript - div 在特定服务器上的 IE 内容下展开

Firefox中的asp.net重定向不起作用