2012-08-23 5 views
0

J'utilise l'adresse IP de l'utilisateur pour trouver son emplacement d'affichage du contenu correct sur mon site Web ASP.NET. J'ai placé une session au début de ma page default.aspx pour détecter si c'est la première fois que mon utilisateur exécute le site Web ou pas, si c'est la première fois, mon algorithme de détection d'emplacement s'exécute et la session de ville est également définie. Mes utilisateurs peuvent changer de ville et chaque fois qu'ils changent de ville, la session de ville est également modifiée. Ce processus fonctionne correctement, mais lorsque l'utilisateur ferme son navigateur et ouvre à nouveau le navigateur, mon algorithme de détection de ville ne fonctionne pas car mon session["firsttime"] est toujours actif et sa valeur est TRUE (ma durée de vie de la session est fixée à 20 minutes par défaut). Comment puis-je détecter que l'utilisateur vient de démarrer son navigateur même s'il a un session["firsttime"] réglé sur TRUE? Puis-je le faire en utilisant le fichier global.asax?Première détection du site Web ASP.NET

+0

quel mode de session utilisez-vous? –

+0

mhhh, si l'utilisateur ferme le navigateur la prochaine fois qu'il ira sur votre site 'session [" firsttime "]' devrait être nul pour lui. –

+0

J'utilise le mode inProc, bien sûr, la session reste jusqu'à sa durée de vie (20 minutes ici), donc mon algorithme ne fonctionne plus à cette période, puis-je utiliser Session_Start dans global.asax.cs? Quand est-ce que ça marche? –

Répondre

2

Essayez d'utiliser les cookies au lieu de session pour détecter la "première fois" & "retour utilisateur". En outre, vous pouvez définir les informations de localisation dans un cookie.

+0

merci, mais pourriez-vous s'il vous plaît clarifier votre solution? Que dois-je définir exactement dans mes cookies? combien de temps mes cookies devraient-ils durer? –