2009-04-07 6 views
2

Je cherche des conseils sur les méthodes recommandées ou simplement éprouvées pour associer des données à un utilisateur anonyme dans une application Web. Je souhaite que les données soient disponibles pour les utilisateurs sur plusieurs sessions, donc stockez-les dans la base de données.Meilleure pratique pour gérer les données des utilisateurs anonymes

Évidemment, j'aurai besoin d'un cookie pour identifier cet utilisateur, ce qui m'intéresse particulièrement, c'est comment gérer le lien entre cet identifiant anonyme et les données réelles. Jusqu'ici j'explore deux options:

  1. Créer un utilisateur anonyme persistant avec chaque visiteur unique. De cette façon mes données ne se soucie pas si appartient à un utilisateur anonyme ou enregistré un, il appartient juste à un utilisateur .
  2. Avoir une sorte de wrapper/manager pour les données qui utilisent sa propre valeur de cookie pour associer aux données.

Le problème principal aveC# 1 est le nombre d'utilisateurs créés. Exécuter un script toutes les 24 heures pour nettoyer la table serait facile, mais je pourrais toujours créer des milliers (j'espère!) De lignes par jour, les garder pendant 14 jours en résulterait beaucoup. AveC# 2 je dois construire une infrastructure anonyme/basée sur des cookies qui est spécifique aux données, mais ce qui se passe quand j'ai d'autres ensembles de données qui ont besoin de la même fonctionnalité.

Quelqu'un a-t-il des conseils sur les meilleures pratiques pour ce faire? Je travaille dans ASP.NET MVC avec NHibernate, mais des concepts et des idées provenant de n'importe quelle plateforme seraient utiles.

+0

Oui J'explore comment les utilisateurs anonymes travaillent sur SO. Cette question a été associée à ma session afin que je puisse l'éditer. Comment l'ont-ils fait? Je me demande si je me connecte, il apparaîtra dans mon compte ... –

Répondre

0

J'irais probablement pour le cas 1. Quelques milliers de lignes par jours est une petite quantité de données, pas quelque chose que vous devriez vous inquiéter. Cela ressemble à l'un de ces cas où vous venez de le faire fonctionner et vous soucier de la performance plus tard (probablement jamais).

Vous ne pourriez probablement jamais l'effacer et toujours jamais rencontrer des problèmes.

1

Il n'a pas de sens de persister un utilisateur anonyme pour deux raisons:

  1. Ici allé aujourd'hui demain. Vous vous retrouverez avec beaucoup de lignes orphelines que vous devrez rattraper de temps en temps
  2. Persister à une base de données impliquerait que vous pouvez faire beaucoup de personnalisations pour ces utilisateurs, ce qui est une mauvaise idée parce que tout est suspendu par un cookie

Je suggère soit d'utiliser le cookie non seulement pour les suivre, mais aussi comme un magasin de données. Ou l'option deux où vous les manipulez séparément des utilisateurs enregistrés.

Questions connexes