2016-10-11 11 views
0

私はMVC 4アプリケーションを持っており、そのアプリケーションプールは毎時停止しています。私が見てきた私のコントローラのアクションが例外の後にアプリケーションプールがクラッシュすると、偽造防止トークンとフォームフィールドトークンが一致しない

[HttpPost] 
    [ValidateAntiForgeryToken] 
    [OutputCache(Duration = 0)] 
    public ActionResult Login(LoginViewModel model, string returnUrl, bool loginbutton = true) 
    { 
    /// 
    } 

とビューの私のフォーム上に以下のようなValidateAntiForgeryTokenのセットアップを持っている私は

@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", @id = "login-form" })) 
     { 
      @Html.AntiForgeryToken() 
      .................... 
     } 

を持っているん

Exception information: Exception type: HttpAntiForgeryException Exception message: The anti-forgery cookie token and form field token do not match. .....................イベントビューアのWindowsアプリケーションログにこの例外を参照してください questionに追加してマシンキーを追加しましたが、それでもどちらも役に立ちません。なぜこのようなことが起きているのでしょうか?サイトはSSL証明書を使用していますが、問題が発生する可能性はありません。

+1

このメッセージは、時折の通常のイベントとして表示されます。ユーザーがフォームをしばらく離してから後で送信するようなことをした場合、トークンは無効になります。いずれにしても、それによってアプリケーションプール全体がクラッシュすることはありません。それはメモリリークや他のもっと重要な問題を必要とするでしょう。 –

+0

私はちょうどより多くを見つけるためにデバッグダイアグクラッシュダンプをセットアップしました。実際の問題を特定するために他に何か試みることはできますか? – rumi

答えて

0

デバッグ診断ログを見ると、偽造防止の代わりに不正なユーザー名/ハンドラを使用したtwitterフィードに関する問題が見つかりました。これはsystem.stackoverflowexceptionを引き起こし、アプリケーションプールをクラッシュさせました。

関連する問題