Net 4.0框架,
我在这个框架中制作了很多网站,但从未遇到过这样的错误
"Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster."
我认为这个错误是由于使用cookies引起的,因为我只在这个网站上使用了cookies。
另一件事是我以前很少遇到这个错误,几乎每周两次
我读过很多这方面的解决方案,但 4.0 的解决方案很少见
读取的解决方案,例如放入
<machineKey validationKey="6628ECBFB40F6F852AB543C23C0B83C1679C5AAE35AD72FACF5B9F4FDB70AA1F648A1D5877CE1F9D69F08BAD919BFBAC0976D9119B8F32CFB80814E4E943F8EE" decryptionKey="42F45B378301126EB4CCBA16995304263754EF116E08A81003A936CC04B7537F" validation="SHA1" decryption="AES" />
在网络配置中
或添加
<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" />
在网络配置中
但是我应该在上面的网络配置中添加什么
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="Conn" connectionString="Data Source=abc; Initial Catalog=alfadesi_trikon;User ID=abc;Password=abc" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<globalization culture="en-AU" uiCulture="en-AU" />
<compilation debug="true" targetFramework="4.0"/>
<authentication mode="Windows"/>
<customErrors mode="Off"></customErrors>
</system.web>
</configuration>
您可以在 system.web 元素中添加您的机器密钥。
例如
<system.web>
<machineKey validationKey="1234567890123456789012345678901234567890AAAAAAAAAA"
decryptionKey="123456789012345678901234567890123456789012345678"
validation="SHA1" decryption="Auto" />
</system.web>
如果您不想将机器密钥放入每个应用程序的 web.config 中,则需要将其放入每个 .Net Framework 版本的机器级 web.config 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)