Quand devrais-je utiliser l'un par rapport à l'autre? Je veux mettre en cache un certain objet au démarrage et réutiliser autour de l'application. Qui sonne comme la meilleure solution (ViewData ou Session)?Quelle est la différence entre Session et ViewData dans Asp.net-MVC?
6
A
Répondre
12
ViewData
est un objet par requête utilisé pour envoyer des informations du contrôleur à la vue.
Chaque invocation d'action obtient son propre ViewData; ViewData ne dure pas au-delà de la vue.
Session State est un conteneur de stockage par utilisateur qui vous permet de stocker des données pour une session utilisateur spécifique (identifié par un cookie)
Si vous souhaitez partager un objet global, vous devriez probablement faire un singleton (dans une propriété static
) ou le mettre dans l'état Application.
Faites sûr que c'est thread-safe. (Ou utilisez un champ [ThreadStatic]
avec précaution)