フォーム認証を使用する ASP.NET のアプリケーションがあります。次のコードがあります。
if (User.Identity.IsAuthenticated)
ViewStateUserKey = User.Identity.Name;
ステップスルーすると、ページが読み込まれるたびにこのコードが実行されることがわかります。ログインしたユーザーがページをリクエストすると、ViewStateUserKey にユーザー名が入力されます。フォーム認証がタイムアウトするまでページをそのままにしておくと、ユーザーはログインできなくなり、名前が null になるため、viewstate の検証でポストバックが失敗します。ただし、画面に他のボタンを配置してポストバックすると、認証がタイムアウトした後でも失敗しないことに気付きました。タイムアウトするたびにこのエラーが発生しますか?