1

ほぼ同一の 2 つの Web サイトがあり、両方とも同じサーバー上で実行されていますが、異なるアプリ プールの下にあります。アプリケーション プールは両方とも、「NETWORK SERVICE」資格情報で実行するように構成されています。

ある Web サイトでは、これを開発コピーと呼んでいますが、悪名高い「ビュー ステート MAC の検証に失敗しました」というエラーが表示されます。これは、ページが 20 分間アイドル状態になった後にポストバックが発生した場合に発生します。これは、web.config またはマシン構成ファイルでマシン キーを指定していないことが原因であると通知されました。アプリ プールを手動でリサイクルすると、期待どおりにエラーが再現されます。したがって、私の質問は問題を停止する方法ではなく、開発ではエラーが発生するが本番では発生しない理由を知りたいです。2 つのサイトのセットアップの唯一の違いは、認証方法です。

IIS 構成の「基本設定」セクションでは、サイトの開発バージョンはサービス アカウントを使用して接続するように設定されていますが、製品バージョンは「アプリケーション ユーザー」(パススルー認証) を使用しています。認証設定では、両方のページが偽装と Windows 認証で構成されています。

これは私が見ることができる唯一の違いです。IIS がサイトおよびアプリケーション プール レベルで認証を処理する方法についての私の知識はかなり限られています。1 つのセットアップではマシン キーが更新されるはずなのに、もう 1 つのセットアップでは更新されない特定の理由はありますか?

4

1 に答える 1

0

.NET 3.5 SP1 をインストールした後、ASP.NET ページでポスト バックを実行すると、Validation of viewstate MAC failed という例外が発生する場合があります。

于 2013-03-21T16:41:47.783 に答える