2010-07-13 4 views
0

J'ai implémenté le fournisseur d'appartenances personnalisées dans mon projet. J'ai gardé un drapeau sur la base de données pour obtenir les utilisateurs en ligne. Je veux réinitialiser ce drapeau sur la déconnexion, je peux le faire si l'utilisateur se déconnecte correctement. Je dois réinitialiser le drapeau sur la base de données, même si le navigateur fermé directement ou sur une défaillance de la machine ou un délai d'attente normal, toutes les astuces sur le fournisseur d'adhésion pour résoudre ce problème. les experts attendent vos réponses !!!!!!!Délai d'expiration du fournisseur d'appartenances personnalisées dans asp.net 4.0

Merci.

Répondre

0

il suffit de mettre un champ pour les utilisateurs comme IS_LOGOUT_BUTTON_PRESSED typeof (bool) par défaut false si l'utilisateur clique sur LogOut le définir TRUE. si l'utilisateur ferme le navigateur, il restera faux. Ensuite, vous pouvez voir ce que l'utilisateur a fait.

+0

merci, comment cette variable permet de savoir si la session de l'utilisateur est disponible ou a expiré. – user390434

0

J'ai peur que vous vous incliniez contre les moulins à vent. Vous remarquerez que les fournisseurs sql implémentent les 'utilisateurs en ligne' en mettant simplement à jour la dernière activité dans la plupart des méthodes du fournisseur (et par la suite les procédures stockées) puis en utilisant une 'fenêtre de temps en ligne' prédéfinie pour déterminer si l'utilisateur peut encore être en ligne. Pour implémenter un indicateur 'is_online' qui fait autorité, vous devez avoir un contrôle complet sur les moyens de l'utilisateur de démarrer une session et de terminer une session, ce que vous ne pouvez pas faire en raison de la nature du navigateur. la manière dont les sessions et les expirations de ticket sont dépassées. Vous ne pouvez donc jamais vraiment être sûr si un utilisateur est en ligne ou non, rendant tous les efforts que vous avez faits pour suivre cette métrique peu fiable.

Et les données non fiables ont souvent moins de valeur que pas de données du tout.

Je suis tout à fait certain que vous ne trouverez que de la frustration en essayant d'appliquer un absolu, comme décrit dans votre question, à la nature sans état et sans forme des sessions et des tickets.

Désolé je n'ai pas de meilleures nouvelles.