IIS 7.5で実行されているasp.net(v3.5)Webサイトがあり、アプリケーションプールは2.0です。このサイトは、スティッキー セッションを使用するロード バランス サーバー ファームにもあります。平均して、1 日あたり約 200 ~ 300 件のビューステート エラーが発生し、ポストバック エラーは 1 日あたり 1,000 ~ 2,000 件です。
ポストバック エラーが最も多いページには、多くのアイテムがバインドされている asp データリストが含まれています。フィルタリングとページングのドロップダウン、およびポストバックするいくつかの asp ハイパーリンクとともに。
ビューステートの場合、これらのページは ajax タブ、asp ハイパーリンク、モーダル ポップアップ エクステンダ、および asp ドロップダウンを使用します。
このサイトにはかなりの量のトラフィックがあり、Google や MSN などの多くのボットがアクセスしています。
次のことを試しました。
- ビューステートのサイズを最小化するために、特定のコントロールでビューステートを無効にする
- ビューステートをデータベースに移動する
- ビューステートの圧縮
- ビューステートをページの下部に移動する
上記のいずれも、問題の解決に役立っていません。
この問題のトラブルシューティングの助けをいただければ幸いです。
エラー情報で更新:
- ビューステート
エラー ソース: System.Web
エラー Try/Catch: System.Web.UI.ViewStateException: 無効なビューステートです。クライアント IP: 。. . ポート: *** ユーザーエージェント: Mozilla/4.0 (互換性あり; Synapse) ViewState:00ytitesern5vnudvqgz rneo/nncjwe2gqvm9hwsejfneaemuijx m43rkjqdgmurhezuvzjtw fcu/cbzrx0xfscog4bv07c1fi7ali/883amvbby5owiliaihufk4fvbn1wgarkbwxmmionsf0jcgw6wlnppj3ww8nmd3 423pu91yexxuyuygxpnu9osgzvxre5wfjlhlhg4ngo1bxdgekgfilzqbxjq58w2aqc7gvdj1ytz4xshkzvjdldiecewgfokt/ot2cpecb bavgiy2f/lvfjg4h9kmuvumsgrbkc6enfnfa0eqce2fi2hj3jo1qqchwsvty8l9uaq6k8oq6ctsggrtyr3xnd 654w6nmldj w8 u vvbaez6hm5zofqxnfrzobik6qbqq5dd7qrozuiu abdvgg xaa5jjm9o5/rroxkrx2fzzhkzjij0xc9p6jenvht 0mplciq4xnewyotosx86axuioyb0yww2phkothy2zok7j2q/ xz4j29zz2drnmqj1km 3j mofii0kk0qe0/s8mkotmhtk4k rfyfja/h7wtebpualg3hg9ydru3yn6pfimay2aasoloydvmj/xfffd tknfqeg7da7/n2flq6hczcolanyjsxf9ofstomby4flhcyuuq/hqg7pc8qvrqy0s/seqyqkr 1ne7bktrazjwlgygpprawneml8f1kbujtbjtz7feieyzu76j1mntagwlrhgchwjmux58cjlu2bbh7ayitfevapzt21pn92du5zcnmiajfxfou1motqkl8hqmlbjj0hxhpi5j5gg5xdxpz5xkqfdflw2wgqvfjxilhqm6mwyjsmif6r8wtdjkrsxxmapyeq61lfa8 7zntc2v3v8b...
エラー情報: ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、|machineKey| を確認してください。configuration は、同じ validationKey と検証アルゴリズムを指定します。AutoGenerate はクラスタでは使用できません。
HttpErrorCode: 500
スタック トレース: System.Web.UI.ViewStateException.ThrowError(Exception inner、String persistedState、String errorPageMessage、Boolean macValidationError) で System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) で System.Web.UI.Util.DeserializeWithAssert で(IStateFormatter フォーマッタ、String serializedState) System.Web.UI.HiddenFieldPageStatePersister.Load() で System.Web.UI.Page.LoadPageStateFromPersistenceMedium() で System.Web.UI.Page.LoadAllState() で System.Web.UI. System.Web.UI.Page.ProcessRequest() で System.Web.UI.Page.ProcessRequest() で System.Web.UI.Page.ProcessRequest(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) で Page.ProcessRequestMain (ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) ASP.content_aspx の HttpContext コンテキスト)。System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() での ProcessRequest(HttpContext コンテキスト) System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値および completedSynchronously)
ブラウザ: Mozilla/4.0 (互換; Synapse)
- ポストバック エラー ソース: System.Web
エラー Try/Catch: System.ArgumentException: ポストバックまたはコールバック引数が無効です。|pages enableEventValidation=|true|/| を使用して、イベントの検証を有効にします。構成または |%@ Page EnableEventValidation=|true| で %| ページで。セキュリティ上の理由から、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。System.Web.UI.ClientScriptManager.ValidateEvent (String uniqueId, String argument) で System.Web.UI.WebControls.TextBox.LoadPostData (String postDataKey, NameValueCollection postCollection) で System.Web.UI.Page.ProcessPostData (NameValueCollection postData,
エラー情報: 型の例外 |System.Web.HttpUnhandledException| 投げられました。
HttpErrorCode: 500
スタック トレース: System.Web.UI.Page.HandleError(Exception e) で System.Web.UI.Page.ProcessRequestMain(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) で System.Web.UI.Page.ProcessRequest(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) ) System.Web.UI.Page.ProcessRequest() で System.Web.UI.Page.ProcessRequest(HttpContext コンテキスト) で ASP.category_aspx.ProcessRequest(HttpContext コンテキスト) で System.Web.HttpApplication.CallHandlerExecutionStep.System.Web. System.Web.HttpApplication.ExecuteStep での HttpApplication.IExecutionStep.Execute() (IExecutionStep ステップ、ブール値および completedSynchronously)
ブラウザ: Mozilla/5.0 (iPhone; Mac OS X のような CPU iPhone OS 6_0_1) AppleWebKit/536.26 (Gecko のような KHTML) バージョン/6.0 Mobile/10A523 Safari/8536.25