Je suis une première fois écrire long lecteur de ce site.Comment charger à partir de la base de données une fois, puis utiliser des méthodes statiques pour récupérer des données?
Je crée un site .NET MVC en utilisant ProfilBase pour stocker un objet utilisateur personnalisé. La base de profil est stockée sur une base de données sur un autre serveur que le serveur Web. J'ai une classe d'aide, UserInfoHelper qui contient une méthode statique pour récupérer le nom d'utilisateur, email, téléphone, etc.
En ce moment, une méthode pour par exemple obtenir récupérer l'adresse e-mail ressemble à ceci:
public static String GetEmail()
{
ProfileBase profileBase = HttpContext.Current.Profile as ProfileBase;
UserObject user = (UserObject)profileBase.GetPropertyValue("UserObject");
return user.PrimaryEmail;
}
et de une vue je les appelle comme ceci:
<%= UserInfoHelper.GetEmail() %>
donc, pour chaque fois que j'appelle une méthode dans la classe d'aide l'utilisateur est rapportez de la db. Je voudrais juste le récupérer une fois pour chaque utilisateur lorsqu'il est connecté ou au moins une fois par réponse. Quelle est la meilleure approche pour le faire?
Existe-t-il également un moyen facile d'obtenir le profil par défaut à l'aide de services Web au lieu d'appeler les procédures stockées directement?
Merci beaucoup à l'avance.
Ok, merci de votre réponse. Peut-être que je devrais le réfracter alors. La chose est que j'ai un contrôle utilisateur de connexion dans le coin supérieur droit qui montre des informations sur l'utilisateur lorsqu'il est connecté et j'ai aussi un contrôle sur la gauche qui montre plus d'informations utilisateur + theres informations sur certaines des vues dans le journal dans la zone. Donc, si je le fais de cette façon, il y aura au moins 3 fetchs pour les mêmes données. – user443239
Je suppose que j'avais raison sur le fait que vous affichez les mêmes données sur plusieurs contrôles partiels. Vous n'avez pas besoin de trois récupérations. Vous allez chercher les données et préparer le modèle dans le contrôleur le plus général, le contrôleur qui tient tout ensemble, ce serait par exemple le contrôleur de page. – mare