Asp.net
VS 開發伺服器中的“System.Web.HttpException:無法驗證數據”錯誤,但在 IIS 中沒有
我在 Windows 7 64 位開發盒中使用 Visual Studio 2010 SP1。在盒子上使用 IIS 時,我的 asp.net 工作正常,但是當我切換到使用 Visual Studio 開發伺服器時,我在這一行中收到異常“System.Web.HttpException:無法驗證數據”(在 global.asax 中的 Application_AuthenticateRequest 事件中) 。CS):
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);為什麼在使用內部 Web 伺服器時會失敗?
切換伺服器後嘗試刪除 cookie。兩台伺服器都有自己的配置,可能還有自己的解密密鑰,表單身份驗證 cookie 使用該密鑰進行加密和解密。因此,如果您仍然有 IIS 加密的 cookie,則將項目切換為使用內置開發伺服器並訪問站點,該伺服器無法解密 cookie。
如果將解密密鑰放在 web.config 中,則可以防止此問題:
<machineKey decryptionKey="..." />
此錯誤還有另一個原因。如果 Web.config 文件中的 MachineKey 條目以
xmlns=""然後你也會遭受這個錯誤。