2016-05-13 43 views
0

私はMVC 4アプリケーションを持っています。私はAjaxのリクエストとサーバーがタイムアウトを作るときには、クライアント上の例外がスローされます。セッションタイムアウト時のHTTPステータスコード

リソースの読み込みに失敗しました:サーバーはステータスで応答500 (内部サーバーエラー)

だから私の質問は

です)なぜ401を投げないのですか?

b)ステータスコードが500であることを確認してセッションがタイムアウトしたかどうかを確認するのが適切でしょうか?それは有効な条件ですか?

答えて

0

あなたはステータスコードについてのMSDNでこの記事をチェックすることができますまず第一に: https://msdn.microsoft.com/en-us/library/aa287675(v=vs.71).aspx

その内部サーバーエラーので、a)のそれは、不正な(401)ステータスコードを返しません - サーバーが応答しませんあなたは缶)http://www.checkupdown.com/status/E500.html

B:その正しい応答は、あなたがそのためには、次の資料を見ることができるように何かがサーバー上に間違っていたこと - 、それはHTTPエラー500内部サーバーエラーが

認証に失敗しませんでした権限の適切な取り扱いを書くアクションフィルタまたはグローバルハンドラを使用した失敗/セッションタイムアウトの場合、ステータスコード500を確認する必要はなく、このようなケースを包むのは間違いです。セッションの期限切れ処理については、次の記事を参照してください。 http://forums.asp.net/t/1523066.aspx?Redirect+to+Login+after+Session+is+Expired+in+MVC

+0

クライアント側でセッションの有効期限を確認する場合はどうすればよいですか。セッションのタイムアウトをjqueryで処理することは可能でしょうか? –

関連する問題