Тайм-аут на провайдере нестандартного членства в asp.net 4.0 - PullRequest
0 голосов
/ 13 июля 2010

В моем проекте реализован пользовательский поставщик членства. я держал один флаг в базе данных, чтобы пользователи были онлайн. я хочу сбросить этот флаг при выходе из системы, я могу сделать это, если пользователь вышел из системы правильно. Я должен сбросить флажок в базе данных, даже если браузер закрылся напрямую или на каком-либо сбое компьютера или в обычном тайм-ауте, какие-либо хитрости с поставщиком членства, чтобы решить эту проблему. эксперты жду ваших ответов !!!!!!!

Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 июля 2010

Я боюсь, что вы склоняетесь против ветряных мельниц.

Вы заметите, что провайдеры sql внедряют «пользователей онлайн», просто обновляя последнее действие в большинстве всех методов провайдера (и впоследствии хранимые процедуры) изатем, используя предопределенное «временное окно онлайн», чтобы определить, может ли пользователь может оставаться в сети.

Для реализации авторитетного флага «is_online» потребуется полный контроль над средствами пользователя.начать сеанс и завершить сеанс, что вы не можете и не можете сделать из-за природы пользовательского интерфейса браузера и способа, которым сессионные и срок действия билета увеличиваются.

Таким образом, вы никогда не сможете на самом деле быть уверенным, находится ли пользователь в сети или нет, что делает любые усилия, предпринятые вами для отслеживания этого показателя, ненадежными.

И ненадежные данные часто имеют меньшую ценность, чем вообще никаких данных.

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

Извините, у меня не лучшие новости.

0 голосов
/ 13 июля 2010

просто поместите поле для пользователей, таких как IS_LOGOUT_BUTTON_PRESSED typeof (bool) по умолчанию false если пользователь нажимает LogOut, установите его в TRUE. если пользователь закроет браузер, он останется ложным. Затем вы можете увидеть, что сделал пользователь.

...