Asp.net viewstate MAC验证失败
未捕获异常:[异常。。。 “'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: viewstate MAC验证失败。如果 此应用程序由Web服务器托管 场或群集,请确保 配置指定 相同的validationKey和validation 算法。无法使用自动生成 在群集中调用方法时: [nsIDOMEventListener::handleEvent]“ nsresult:“0x8057001c (NS\u错误\u XPC\u JS\u抛出的\u JS\u对象) 位置:“JS帧:: chrome://firebug/content/spy.js :: callPageHandler::第744行“数据:否] 问题是,我甚至没有机关枪的标签。我把它注释掉了,我仍然得到这个错误 这是我的整个web.config文件:Asp.net viewstate MAC验证失败,asp.net,viewstate,Asp.net,Viewstate,未捕获异常:[异常。。。 “'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: viewstate MAC验证失败。如果 此应用程序由Web服务器托管 场或群集,请确保 配置指定 相同的validationKey和validation 算法。无法使用自动生成 在群集中调用方法时: [nsIDOMEventListener::handle
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="UrlRewriter">
<section name="PlainRules" type="System.Configuration.NameValueSectionHandler"/>
<section name="RegExRules" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<UrlRewriter>
<PlainRules configSource="UrlRewriter.plain.config" />
<RegExRules configSource="UrlRewriter.regex.config" />
</UrlRewriter>
<connectionStrings configSource="db.config"/>
<system.net>
<mailSettings>
<smtp configSource="mail.config"/>
</mailSettings>
</system.net>
<system.web>
<!--<machineKey validationKey=""
decryptionKey="" validation="SHA1" />-->
<compilation debug="true" targetFramework="4.0" />
<globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" />
<trace enabled="false"/>
<!--<customErrors defaultRedirect="~/error" mode="RemoteOnly"/>-->
<httpRuntime maxRequestLength="4000" executionTimeout="1000"/>
<authentication mode="Forms">
<forms defaultUrl="~/" loginUrl="~/login" timeout="43200" protection="All" cookieless="UseCookies" />
</authentication>
<membership defaultProvider="AspNetSqlMembershipProvider" hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" applicationName="damnation" connectionStringName="membership"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed"
maxInvalidPasswordAttempts="20" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="5"
/>
</providers>
</membership>
<roleManager defaultProvider="AspNetSqlRoleProvider" enabled="true">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="membership" applicationName="damnation"/>
</providers>
</roleManager>
<profile defaultProvider="AspNetSqlProfileProvider" enabled="true" inherits="Damnation.Website.Shared.Membership.SharedMembershipProfile">
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="membership" applicationName="damnation"/>
</providers>
</profile>
<httpModules>
<add name="UrlRewriter" type="Damnation.Website.Shared.UrlRewriting.UrlRewriterModule"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter" type="Damnation.Website.Shared.UrlRewriting.UrlRewriterModule"/>
</modules>
</system.webServer>
</configuration>
这里可能有什么问题?
我还应该提到,我尝试过使用和不使用重写器(我自己编写的小模块),所以这也不是问题所在
更新:当我尝试以成员身份登录时,firebug发现了此问题,这会导致updatepanel中的回发。如果配置中没有machineKey,则使用machine.config中的machineKey
此网站是在web场上设置的吗?如果是这样,您应该生成一个machineKey,并将其放入站点的所有web.config文件安装中。是否在页面完全呈现之前发回服务器?否,页面已完全加载。您需要添加machineKey,这可能是失败的原因。