/ / Код коду статусу HTTP, коли час виходу з сесії - asp.net-mvc-4, сесія, httprequest, відключення запиту

Код статусу HTTP при виході Session Times out - asp.net-mvc-4, сеанс, httprequest, запит-тайм-аут

У мене є додаток MVC 4. Коли я роблю запит ajax і час вичерпується на сервер, він видає виняток для клієнта:

Не вдалося завантажити ресурс: сервер відповів зі статусом 500 (Внутрішня помилка сервера)

Так що моє запитання

а) Чому він не кидає 401?

b) Чи буде доречно, якщо я перевіряю код статусу 500, щоб перевірити, чи закінчився сеанс? Чи це буде дійсною умовою?

Відповіді:

0 для відповіді № 1

Перш за все, ви можете перевірити цю статтю в msdn про коди статусу: https://msdn.microsoft.com/en-us/library/aa287675(v=vs.71).aspx

a) Не повертає несанкціонований (401) код статусу, тому що його внутрішня помилка сервера - сервер не відповідає, не вдався до авторизації

Помилка HTTP 500 Внутрішня помилка сервера - означає, що на сервері щось пішло не так, що його правильна відповідь, ви можете побачити наступну статтю для цього: http://www.checkupdown.com/status/E500.html

b) Ви можете написати відповідне поводження зневдача авторизації / час сеансу, використовуючи фільтр дій або глобальні обробники, не потрібно перевіряти код статусу 500 і неправильно завершувати цей випадок. Для обробки сесії, чий термін дії закінчився, ви можете переглянути цю статтю: http://forums.asp.net/t/1523066.aspx?Redirect+to+Login+after+Session+is+Expired+in+MVC