Profil utilisateur ASP.NET intégré par rapport aux classes / tables utilisateur de style ancien

Translate

Je recherche des conseils sur les meilleures pratiques concernant l'utilisation de la fonctionnalité de profil dans ASP.NET.

Comment décidez-vous de ce qui doit être conservé dans le profil utilisateur intégré, ou si vous devez créer votre propre table de base de données et ajouter une colonne pour les champs souhaités? Par exemple, un utilisateur a un code postal, dois-je enregistrer le code postal dans ma propre table ou dois-je l'ajouter au profil xml web.config et y accéder via le mécanisme ASP.NET du profil utilisateur?

Les avantages / inconvénients auxquels je peux penser en ce moment sont que puisque je ne connais pas très bien le profil (c'est un peuMatricemaintenant), je peux probablement faire tout ce que je veux si je vais sur la route de la table (par exemple, SQL pour obtenir tous les utilisateurs dans le même code postal que l'utilisateur actuel). Je ne sais pas si je peux faire de même si j'utilise le profil ASP.NET.

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Je n'ai construit que 2 applications utilisant le fournisseur de profil. Depuis, je suis resté loin de l'utiliser. Pour les deux applications, je l'ai utilisé pour stocker des informations sur l'utilisateur, telles que le nom, l'adresse et le numéro de téléphone de son entreprise.

Cela a bien fonctionné jusqu'à ce que notre client veuille être en mesure de trouver un utilisateur par l'un de ces champs. Recherche impliquée en bouclechaqueprofil des utilisateurs et en comparant les informations aux critères de recherche. Au fur et à mesure que la base d'utilisateurs augmentait, le temps de recherche est devenu inacceptable pour notre client. La seule solution était de créer une table pour stocker les informations des utilisateurs. La vitesse de recherche a été considérablement augmentée.

Je recommanderais de stocker ce type d'informations dans sa propre table.

La source
D.J
Translate

Le profil utilisateur est un cadre propre et agréable pour la personnalisation individuelle (AKA. Propriétés du profil). (par exemple iGoogle), le problème est qu'il n'est pas conçu pour les requêtes et n'est pas idéal pour le partage de données avec un utilisateur public (vous seriez toujours en mesure de le faire, avec de faibles performances)

donc, si vous souhaitez améliorer l'expérience utilisateur personnalisée, le profil utilisateur serait une bonne solution. sinon, utilisez votre propre classe et table serait une bien meilleure solution.

La source
Dan
Translate

D'après mon expérience, il est préférable de garder les informations du profil au strict minimum, de ne mettre que les éléments essentiels qui sont directement nécessaires pour l'authentification. D'autres informations telles que les adresses doivent être enregistrées dans votre propre base de données par votre propre logique d'application, cette approche est plus extensible et maintenable.

La source
Translate

Je pense que cela dépend du nombre de champs dont vous avez besoin. À ma connaissance, les profils sont essentiellement une longue chaîne qui est divisée aux tailles de champ données, ce qui signifie qu'ils ne s'adaptent pas très bien si vous avez de nombreux champs et utilisateurs.

D'un autre côté, ils sont intégrés, c'est donc un moyen simple et standardisé, ce qui signifie qu'il n'y a pas une grande courbe d'apprentissage et que vous pouvez également l'utiliser dans les futures applications sans avoir besoin de l'adapter à une nouvelle structure de table.

Faire rouler votre propre truc vous permet de le placer dans une base de données correctement normalisée, ce qui améliore considérablement les performances, mais vous devez écrire vous-même à peu près tout le code de gestion du profil.

Edit: De plus, les profils ne sont pas mis en cache, de sorte que chaque accès à un profil va d'abord à la base de données (il est ensuite mis en cache pour cette demande, mais la demande suivante l'obtiendra à nouveau de la base de données)

Si vous envisagez d'écrire votre propre truc, peut-êtrefournisseur de profil personnalisévous offre le meilleur des deux mondes - une intégration transparente, mais les tâches personnalisées que vous souhaitez faire.

La source
Translate

Je pense qu'il vaut mieux l'utiliser pour des données supplémentaires qui ne sont pas essentielles pour l'utilisateur et qui ne sont normalement importantes que lorsque cet utilisateur se connecte de toute façon. Pensez à des données qui ne casseraient rien d'important si tout était effacé.

bien sûr, c'est une préférence personnelle, mais d'autres ont soulevé d'autres questions importantes.

Également très utile car il peut être utilisé pour un utilisateur non authentifié dont le profil est maintenu avec un cookie anonyme.

La source