当前位置:首页 > 操作系统 > MacOs

c#-验证视图状态MAC失败.由Web场托管的应用程序,请确保配置

这个问题已经在这里有了答案:            >            Asp.net Validation of viewstate MAC failed                                    13个
净4.0框架,
我已经在这个框架上做了很多网站,但从未收到这样的错误

<code> "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."
</code>

我认为此错误是由于使用Cookie引起的,因为仅在本网站中我使用过Cookie.

我过去很少每周几乎两次收到此错误的另一件事

我已经阅读了很多解决方案,但是对于4.0来说却很少见

阅读的解决方案,例如推杆

<code><machineKey validationKey="6628ECBFB40F6F852AB543C23C0B83C1679C5AAE35AD72FACF5B9F4FDB70AA1F648A1D5877CE1F9D69F08BAD919BFBAC0976D9119B8F32CFB80814E4E943F8EE" decryptionKey="42F45B378301126EB4CCBA16995304263754EF116E08A81003A936CC04B7537F" validation="SHA1" decryption="AES" /> 
</code>

在Web配置中
或添加

<code><pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" />
</code>

在webconfig中

但是我应该在上面的Web配置中添加哪里

<code><?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>
</code>

解决方法:

您可以在system.web元素中添加机器密钥.
例如

<code><system.web>
<machineKey validationKey="1234567890123456789012345678901234567890AAAAAAAAAA"
 decryptionKey="123456789012345678901234567890123456789012345678"
 validation="SHA1" decryption="Auto" />
</system.web>
</code>

如果不想将每个应用程序的机器密钥放在web.config中,则需要将其用于每个.Net Framework版本的机器级别的web.config中.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐