0

.NET MVC アプリケーションを GoDaddy サーバーにデプロイしようとしています。ページの 1 つに Html.AntiForgeryToken があり、ヒットするたびに例外がスローされます。

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.

次の URL を使用してマシン キーを生成しました

 http://aspnetresources.com/tools/machineKey

ページのviewStateEncryptionModeを「Always」に設定しました

<pages viewStateEncryptionMode="Always">

ただし、まだエラーが発生しており、次に何をすべきか途方に暮れています。どんな提案でも大歓迎です。

4

1 に答える 1

0

私はついにそれを理解しました。もう少しグーグル検索を行ったところ、ブラウザのキャッシュをクリアしないと、無効なビューステートが保持されることがわかりました。どうやらクロムは、キャッシュがクリアされた場合でも、すべてのクロムブラウザウィンドウが閉じられていない限り(私は多くのクロムブラウザを使用しています)、連続する各ブラウザでビューステートの類似性を保持しているようです。

Firefox と IE で試してみると、コードが機能することがわかり、成功しました。次に、(キャッシュをクリアした後) すべてのクロム ウィンドウを閉じて、再起動しました。その後、AntiForgeryToken を含むページに正常に移動できました。

于 2011-07-11T02:11:58.627 に答える