2015-05-27 1 views
1

Я хочу изменить режим хранения session с inproc на какой-либо другой сторонний поставщик сеансов в моем приложении. Я скачал для него стандартный provider. Я использую этот провайдер в проекте и предоставляю информацию о сервере в web config, сессия работает должным образом. Проблема, с которой я сталкиваюсь, заключается в том, что даже если я изменю данные сервера на любой случайный ip, код session все еще работает. Я не могу определить, будет ли изменен режим сеанса внутри, после того как вы увидите недопустимый ip или что-то еще. Я хочу проверить код, который использует sessionstate. Как я могу это сделать?Как определить тип сеанса в asp.net

ответ

2

Используйте следующее:

System.Web.HttpContext.Current.Session.Mode 

который возвращает значение перечисления SessionStateMode, который является одним из следующих:

  • InProc режим, который хранит состояние сеанса в памяти на веб-сайте сервер. Это значение по умолчанию.

  • StateServer режим, в котором состояние сеанса хранится в отдельном процессе, называемом государственной службой ASP.NET. Это гарантирует, что состояние сеанса
    сохраняется, если веб-приложение перезапускается, а также делает сеанс
    доступным для нескольких веб-серверов в веб-ферме.

  • Режим SQLServer хранит состояние сеанса в базе данных SQL Server. Это гарантирует сохранение состояния сеанса, если веб-приложение
    перезапустилось, а также состояние сеанса доступно для нескольких веб-серверов
    в веб-ферме.

  • Пользовательский режим, который позволяет указать пользовательского поставщика хранилища.

  • Off режим, который отключает состояние сеанса.

Source: MSDN

+1

Спасибо. В моем случае он показывает режим как Custom, который является правильным. Можно ли проверить данные о сервере и порте пользовательского поставщика? –

Смежные вопросы