我有一个C#ASP.net网站与www.blacknight.com托管。验证视图状态MAC失败。 - ASP.net
有时,当我登录到我的网站,我收到以下错误:
这发生在约1在以往10登录尝试。我联系了他们,他们向我保证,它不在Web Farm或群集上托管,并检查我的ViewState。
有没有人知道这里会出现什么问题?我无法每次都重现它,所以很难追踪到它。
我有一个C#ASP.net网站与www.blacknight.com托管。验证视图状态MAC失败。 - ASP.net
有时,当我登录到我的网站,我收到以下错误:
这发生在约1在以往10登录尝试。我联系了他们,他们向我保证,它不在Web Farm或群集上托管,并检查我的ViewState。
有没有人知道这里会出现什么问题?我无法每次都重现它,所以很难追踪到它。
IIS可能会在原始页面加载和登录尝试之间回收您的应用程序吗?如果您未在web.config中指定<machinekey />
,则应用程序启动时将生成新的机器密钥。然后,当您尝试验证在回发期间在旧计算机密钥上生成的视图状态时,将抛出此异常。
嗯,我不知道说实话。所以,我应该只加一个
@HarryBoy是的,我会添加一个机器键,看看是否解决了这个问题。 –
好的,我从http://www.eggheadcafe.com/articles/GenerateMachineKey/GenerateMachineKey.aspx生成了一个,并在
请参阅知识库文章http://support.microsoft.com/kb/2915218以解决此问题。特别是,您应该在Web.config中设置明确的<machineKey>元素。
该文章的附录A告诉您如何生成<machineKey>元素。
从不设置EnableViewStateMac = false。您应该使用从第三方生成器获得的密钥从不使用。只使用你自己生成的一个。
使用Ajax时会发生这种情况。如果没有请在你的web.config文件中添加一个machinekey – glautrou