0

次のエラーが表示されます:「viewstate MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合、<machineKey>構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスターでは使用できません。」

Load Balancer を経由しない場合、このエラーは使用しません。Load Balancer を使用すると、約 50% の確率でこのエラーが発生します。Load Balancer にはスティッキー セッションがあります。

My config file is like this: validationKey='2EEA416CEFC6D6BE856ED57B97FB9CA7DFACE17C073125949A1D682C80A44BB2AD887DDDC13DBFB0954F1000FEE5757E99693F222F8E28CAA2E6DAB8C4F99E0C' decryptionKey='877478B2F33A74226ABEF55FDCC1A76E43F1BBEA6241A592' validation='SHA1' />

<pages enableViewStateMac="false">

だから、私はすでに enableViewStateMac="false" を持っています。散発的なエラーをなくすにはどうすればよいですか?

4

1 に答える 1

0

ロード バランサーの影響を受けるすべてのサーバーが同じマシン キーを使用する必要があります。これにより、サーバー 1 に生成されたビューステートがサーバー 2 にポストされると、サーバー 1 と 2 の両方が同じキーを使用するため、サーバー 2 はビューステートを認証できます。

詳細: http://technet.microsoft.com/en-us/library/cc731979%28v=ws.10%29.aspx

編集:

また、何らかの CSRF 保護を使用している場合は、サーバー間でその情報を永続化する方法があることを確認する必要があります。(一部の CSRF 保護スキームはビューステート キーを指定します)。

于 2013-02-05T16:38:09.727 に答える