http://chriscavanagh.wordpress.com/2008/04/25/systemwebrouting-with-webforms-sample/で説明されているように、従来の Web フォームで ASP.NET 3.5 SP1 System.Web.Routing を使用しています。
すべて正常に動作します。カスタム SEO URL があり、ポストバックも機能します。しかし、ポストバックが常に失敗する場合があり、次のようになります。
ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスタでは使用できません。
エラーを再現するシナリオは次のとおりです。
- ボタンを含む標準の Web フォーム mypage.aspx を作成します。
- 「a/b/{id}」を「~/mypage.aspx」にマップするルートを作成します
- サイトを実行すると、http://localhost:XXXX/a/b/ページが機能するものに移動できます。しかし、ボタンを押すとエラーが発生します。ルートが単に「a/{id}」の場合、エラーは発生しません。
URLのサブパスの数に関連しているようです。サブパスが 2 つ以上ある場合、viewstate の検証は失敗します。
EnableViewStateMac="false" でもエラーが発生します。
何か案は?バグですか?
ありがとう