Тайм-аут сеансов ASP.NET с использованием поставщика членства SQL - PullRequest
2 голосов
/ 15 января 2009

Я перешел от провайдера членства в процессе к провайдеру членства sql, чтобы люди не теряли свои сеансы при перезапуске процесса веб-сайта, но сеансы, похоже, по-прежнему истекают.

Существуют ли какие-либо другие вещи (кроме переменной времени ожидания сеанса, заданной в файле web.config), которая может привести к истечению времени ожидания сеанса при использовании поставщика членства sql. Я хочу, чтобы сеанс сохранялся, даже когда пользователь закрывает и открывает браузер. Должен ли я сделать что-то особенное, чтобы сделать это?

Ответы [ 3 ]

1 голос
/ 24 февраля 2009

При наличии постоянных файлов cookie («флажок запомнить меня») пользователь входит в систему на 3 дня. Если вы хотите увеличить это окно, вам нужно создать его самостоятельно.

0 голосов
/ 24 февраля 2009

Вы путаете сеанс (который по своей природе истекает и должен быть для временных данных, применимых только к одному сеансу) и профили. Вы можете использовать функции базы данных членства ASP.NET для установки постоянных настроек, но они будут появляться только в том случае, если пользователь остается в системе.

Однако ... есть также анонимная идентификация. Вы можете включить это в web.config

<anonymousIdentification enabled="true"/>   

А затем пометьте настройки своего профиля как доступные для анонимного пользователя;

<profile>
  <properties>
    <add name="Name" allowAnonymous="true" />
  </properties>
</profile>

Срок действия анонимного файла cookie составляет около 70 дней. Если вы решите поддержать регистрацию и полноценное членство, вам нужно будет перенести анонимные настройки в настройки пользователя при регистрации.

0 голосов
/ 15 января 2009

Я не думаю, что можно сохранить сеанс после закрытия окна. Учетная запись пользователя индексируется сессионным cookie, и она удаляется при закрытии окна.

Что вы могли бы сделать, так это сохранить информацию пользователя в профиле и восстановить ее, когда они войдут в систему или иным образом идентифицируют себя (например, обычные файлы cookie).

...