2010-01-15 240 views
1

在我的網站中,當網頁閒置超過5分鐘時,該頁面無法工作,直到我刷新。出現以下錯誤:視圖狀態MAC驗證失敗 - 查看狀態錯誤

Error: Sys.WebForms.PageRequestManagerServerErrorException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

我已經使用EnableEventValidation="false" ViewStateEncryptionMode="Never" ValidateRequest="false"

但是,沒有什麼工作對我來說。

+0

您只有一臺服務器? – Bryan 2010-01-16 00:50:19

+0

是的。我只使用單個服務器 – Nila 2010-01-16 05:49:56

回答

0

確保集羣中的所有服務器都使用相同的加密密鑰。

+0

嗨! Wat加密密鑰?我沒有使用任何加密密鑰! – Nila 2010-01-15 07:54:12

0

如果您正在執行指向其他頁面的操作的表單進行回發,有時會發生這種情況。

+0

有時不!通常情況下,即使不使用回發,幾乎所有頁面都會發生這種情況。 – Nila 2010-01-15 09:49:52

1

雖然這是一個老問題,但我會回答,因爲它可能會幫助別人。 於是我只好在這幾天這個問題,我意識到,我開始收到此錯誤後,我配置了我的餅乾爲僅Http和要求SSL:

</system.web> 
    <httpCookies httpOnlyCookies="true" requireSSL="true" /> 
    </system.web> 

原來,我只是忘了配置Visual Studio來打開我網站的SSL URL。所以只要它打開了常規的Url,cookies就不能發送,並且導致錯誤的原因。

爲了更改默認的URL,你只需要弄清楚你的SSL URL是什麼:點擊解決方案資源管理器上的項目,然後按F4(不是右鍵單擊 - >屬性),在那裏你會看到SLL URL在開發服務器部分下。之後,進入項目屬性頁面(右鍵單擊 - >屬性),然後在Web選項卡中,將SSL URL作爲Project Url。