1

現在、Web アプリを ASP.NET 1.1 から ASP.NET 3.5 に移行中です。私たちのアプリは、DNS ラウンド ロビンを介して複数のサーバーで実行されるため、すべてのブラウザー リクエストが異なるサーバーで終了する可能性があります。検証エラーを防ぐために、web.config に があります。

ただし、私たちの計画は一度に 1 つのサーバーを移行することでした。ユーザーが 1.1 でページをロードすると、次のようになります。サーバーで、ページがポストバック時に 3.5 サーバーで終了すると、viewstate の検証が失敗します。

この問題に関してウェブ上で何も見つけることができませんでした.viewstateの検証が1.1と互換性がないというのは私の推測です. つまり、1.1 によって生成されたビューステートは、同じ machineKey を使用しても 3.5 では検証されず、その逆も同様です。

誰もこの疑いを確認できますか?

ありがとう

4

3 に答える 3

0

3.5 ホスト用に IIS7 を実行していますか? IIS7 で 1.1 アプリを実行している ViewState で多くの問題に遭遇しました。IIS7 で 1.1 アプリを適切に実行することは非常に困難であり、複数のフレームワーク バージョン間で Web ガーデニングを試みることは言うまでもありません。私が遭遇した最大の問題は、ViewState が以前のバージョンの IIS とは異なる方法で暗号化または管理されていることです。1.1 で weg-garden をセットアップしようとすると、あらゆる種類の ViewState 暗号化エラーが発生します。IIS7 の 1.1 アプリで Web ガーデン (複数のワーカー スレッドを持つ) をセットアップすることはできません。少なくとも私の経験から。

于 2008-12-17T17:40:26.927 に答える
0

1.1 と 2.0 では、viewstate に異なるデフォルトの暗号化アルゴリズムを使用していると思います。1.1 のデフォルトは 3DES で、2.0 の場合は SHA1 だったと思います (ただし、現時点ではこれを裏付けるドキュメントが見つからないようです)。新しいサーバーでマシン キーの検証を 3DES に設定してみて、問題が解決するかどうかを確認してください。

<machineKey validation="3DES">
于 2008-12-17T17:40:42.353 に答える