Je voudrais fournir l'instance de l'utilisateur connecté (ou null si personne n'a encore ouvert de session) pour toutes les vues de mon application MVC. J'ai déjà implémenté avec succès ma propre classe ControllerActionInvoker qui remplace InvokeAction et fournit une instance d'utilisateur connectée dans ViewData (controllerContext.Controller.ViewData ["LoggedUser"] = xxx). Le problème est que je voudrais utiliser le modèle fortement typé pour passer l'instance d'utilisateur connecté dans l'application entière. Je pensais avoir une classe ApplicationViewDataBase qui pourrait être une classe de base pour toutes mes classes ViewData fortement typées et qui fournirait également une instance d'utilisateur connecté. Je pourrais facilement accéder à l'instance d'utilisateur connecté dans toutes mes vues.MS MVC - Puis-je globalement remplir ViewData/Model fortement typé pour toutes mes vues?
Est-il possible de remplir globalement le typage fort comme je l'ai réalisé dans ControllerActionInvoker.InvokeAction override? Ou est-il préférable de fournir en quelque sorte mon instance d'utilisateur dans Page.User? Je trouverais probablement plus de slick à utiliser Page.User, mais n'a pas non plus trouvé de solution pour injecter mon instance User ...
Je pense que vous manquez le point. Il est courant pour les applications d'avoir une classe d'utilisateurs personnalisée qui stocke les détails spécifiques à l'application pour l'utilisateur connecté. Le problème n'est pas de savoir qui a ouvert une session, il charge cet objet utilisateur depuis la base de données suffisamment tôt dans la gestion des réponses pour que tout le code concerné puisse y accéder. – christutty