0

当我尝试OnClick在表单中调用 a 时出现此错误

错误: Failed validation of viewstate MAC. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same <machineKey> validationKey and validation algorithm. AutoGenerate can not be used in a cluster.

代码隐藏

<form runat="server" id="form1"> <asp:Button ID="btnImprimeBematech" runat="server" OnClick="btnImprimeBematech_OnClick" Text="Imprime Novo Bematech" /> </form>

我不明白,因为在 StackOverflow 的其他线程中,一些解决方案是标签中的操作,但我的表单中<Form>没有任何解决方案。action

我试着把EnableViewStateMac="false" EnableSessionState="False" EnableViewState="false"我的<%@ Page但仍然是同样的错误

4

1 回答 1

0

webfarm 中的所有机器上的machineKey值必须相同。

链接:http: //msdn2.microsoft.com/en-us/library/ms998288.aspx

您在所有页面上设置此属性,而不仅仅是一页

In web.config

<pages enableViewStateMac="false">

始终建议在 web.config 中指定用于加密和解密的自定义密钥。这是因为当您将 EnableViewStateMac 值设置为 false 时,您的应用程序将面临安全威胁。这是因为在这种情况下不会发生视图状态的验证。

<machineKey validationKey="<encryptionkey>" decryptionKey="<decryptionkey>" validation="SHA1" decryption="Auto"/>
于 2012-10-23T09:02:01.537 回答