文書番号: 555353 - 最終更新日: 2005年7月1日 - リビジョン: 1.0

断続的な ASP.NET Web の 無効 Viewstate エラー は、ページングします。

著者?Alvin Bruney MVP
すべて展開する | すべて折りたたむ

現象

複数のこの問題が発生するかもしれない条件があります。 既知の各条件は、短い説明と考えられる回避策で表示されます。
アプリケーション リサイクルしているプール
サーバー ファーム または サーバー クラスタ
フォーム投稿
プロキシ サーバーとウイルス スキャナ

原因

問題には、次のようなメッセージで表示されます。
?
= System.Web.HttpException : Invalid_Viewstate_Client_Disconnected クライアント IP : 141.150.12.56 ポート: 62164 人ユーザー エージェント: mozilla/4.0 (互換性 MSIE 6.0 ; Windows NT 5.1 ; SV1 ; .NET CLR 1.1.4322 ) ViewState _ASP.report_aspx:
?dDwtNjY5ODIyMjI4O3Q8cDxsPFNUQVJUREFURTtFTkREQVRFO1BMVVN
?
?
背景
サーバーで最後に処理されたとき、 Viewstate がページの状態を表します。 ページの内容がコンテナに格納され、要求ごとにサーバーにとサーバーから移動されます。 既定で、 ASP.NET は、改竄を確認しないために、ビューステートのコンテンツを検証します。 この検証テストに失敗すると、無効なビューステート例外がスローされます。 このテストが失敗する既知の問題は、いくつか次の一覧に表示されています。
?
アプリケーション リサイクルしているプール
??????????? IIS 6 は、アプリケーション プールの状態を維持するために、アプリケーション プールを定期的にリサイクルします。 アプリケーション プールがリサイクルされているとき、ブラウザ要求すると、インスタンスで、ときどき無効なビューステート エラーが発生することがあります。 再利用するのがピーク期間で発生するのが一般的になるようにアプリケーション プールでの設定を調整するのが修正プログラムです。 アプリケーション プールがこの条件を正常に処理する仮定ので、この問題がバグを表します。
?
サーバー ファーム または サーバー クラスタ
サーバー クラスタで実行されているアプリケーションはすべての machineKey 構成が同じ validationKey に設定される必要があります。 既定の autogenerate キーは、クラスタ環境で使用できません。 autogeneration を担当するレジストリ キーは、ここで表示されます。

HKEY_LOCAL_MACHINE\Software\Microsoft\ASP.NET
HKEY_CURRENT_USER\Software\Microsoft\ASP.NET

machineKey が AutoGenerate に設定される場合、キー情報がプロセスを実行しているアカウントの HKEY_CURRENT_USER ハイブに格納されます。 これが W2k3 サーバーの Network Service アカウントです。 特にアカウントが ASP.NET コンピュータ アカウントです。 使用できる場合、プロセスの起動のとき、 ASP.NET で HKEY_CURRENT_USER レジストリ キーを使います。 このキーが利用できないならば、。
HKEY_LOCAL_MACHINE キーは、使用されます。 どちらのレジストリ キーが存在しない場合、プロセスが HKEY_LOCAL_MACHINE ハイブのキーを作成します。 これらの条件が失敗する場合、プロセスが brand new な一連のキーを作成します。

アプリケーション プールがユーザー アカウントで実行されると、断続的な無効なビューステート エラーをリードするのに上記のキーが生成されません。

各プロセス起動時に自動キー生成を防止するために、 machine.config の特定のキーを使用する回避策です。 キーは、正確ランダムな文字列で構成されてそして問題が発生している各 webserver での構成ファイルに挿入された128 ビットである必要があります。
?
フォーム投稿
Viewstate は、再度同じページに投稿のみできます。 別のページの aspx フォームを送信しようとするのには、ビューステート無効な例外に失敗します。 この動作は、仕様です。
?
?
1 つの他の医療には、 コンピュータ認証確認 を無効にするのが含まれます。 認証メカニズムの上の背面を実装しないかぎり、この方法から控える必要があります。 コンピュータ 認証確認 は、 ASP.NET アプリケーションの攻撃の危険性を低くするのに重要です。
?
プロキシ サーバーとウイルス スキャナ
ファイアウォールまたはウイルス対策ソフトウェアがスローされている無効なビューステート例外が発生しているビューステートが改竄できます。

解決方法

1. 再利用するのがピーク期間で発生するのが一般的になるようにアプリケーション プールでの設定を調整します。
2. machine.config で各プロセス起動時に自動キー生成を防止するために、特定のキーを使用します。
同じ ASPX ページに 3. 投稿のみせよ。
4. ファイアウォールとウイルス対策ソフトウェアがオフにします。

詳細

ここで記載されない問題は、考慮事項でも Microsoft 製品サポートに送信される必要があります。

この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 1.1
キーワード:?
kbpubmvp kbpubtypecca kbhowto KB555353 KbMtja kbmt
機械翻訳機械翻訳
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。もし誤訳を発見された場合には、この KB 下部よりフィードバックをお寄せください。
英語版 KB:555353? (http://support.microsoft.com/kb/555353/en-us/ )
Community Solutions Contentコミュニティで作成された技術情報の免責事項
マイクロソフトコーポレーション、その子会社、関連会社(以下「マイクロソフト」といいます)、およびそれらのサプライヤは、ここで提供されている情報および関連グラフィックスの適切性、信頼性、または正確性を表明するものではありません。これらの情報およびその関連グラフィックスは、何等保証もない現状有姿のままで提供されるものです。マイクロソフトおよびそれらのサプライヤは、この情報および関連グラフィックスに関して、商品性、特定目的に対する適合性、職人的努力、権原および非侵害の黙示的なすべての保証および条件も含めて、一切保証をするものではありません。お客様は、マイクロソフトおよびそれらのサプライヤが、損害の可能性について勧告されている場合であっても、契約、不法行為、過失、無過失責任に基づくかどうかにかかわらず、ここで提供される情報または関連グラフィックスの使用もしくは使用できないことに起因または関連するデータの消失、利益の損失などの損害が原因で生じた直接損害、間接損害、懲罰的損害、偶発的損害、特別損害、派生的損害、その他いかなる損害についても一切責任を負わないことに明確に同意します。
 

サポート技術情報の翻訳