SharePoint 2010 アプリケーションで、このビューステートの問題が発生しています。
現在、Navigation という名前のカスタム コントロールを使用するカスタム マスター ページを作成しました。ナビゲーション コントロールの HTML には、データを格納するために 3 つの隠しフィールドが含まれています。
サイトのマスター ページを適用するときに、リストを作成し、3 段階のワークフローをリストに追加しました。[ワークフローの追加] 画面 (/_layouts/Addwrkfl.aspx) で [3 段階のワークフロー] を選択した後、[OK] をクリックして送信します。
次に、このエラーメッセージが表示されました
ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスタでは使用できません。
スタックトレース:
[ViewStateException: Invalid viewstate.
Client IP: 192.168.149.149
Port: 56086
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)
ViewState: /wEWBAKi+o3/DAKVnOnXCwKa66m6DgKoxMKWBhUcn2XAshDSDMZdpDN35fWC8RHp
Referer: `http://localhost/_layouts/Addwrkfl.aspx?List=%7B2897B53B%2D16AF%2D47A9%2DB963%2DC9501432C5CA%7D`
Path: /_layouts/ItemRWfAssoc.aspx]
[HttpException (0x80004005): 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.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +148
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +10977361
System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded() +205
*
また、ナビゲーション コントロールのすべてのコード ビハインドを削除しましたが、問題は引き続き発生しました。C# コードが実行される前にエラーが表示されるようです。
ナビゲーション コントロールから 3 つの隠しフィールドを削除しようとすると、問題は解決しました。
誰でもこの問題で私を助けることができますか? どんなアイデアでも大歓迎です。
前もって感謝します。
参考までに、Web ファームを使用してアプリケーションをホストしていません