2010-05-25 3 views
1

Je suis en train de développer une application Web ASP.NET C# fatiguée et je me demandais où les sessions devaient être gérées. J'ai une classe SessionManager comme suit:Où devons-nous gérer les objets de session dans une application ASP.NET?

public sealed class SessionManager 
     { 
      private const string USER = "User"; 
      private SessionManager() 
      { 
      } 

      public static SessionManager Instance 
      { 
       get { return _instance; } 
      } 


      public User User 
      { 
       get { return HttpContext.Current.Session[USER] as User; } 
       set { HttpContext.Current.Session[USER] = value; } 
      } 
    } 

Maintenant devrait les informations de session être gérés dans la couche logique métier ou doit-il être géré dans la couche de présentation?

Répondre

2

Dans ASP.NET, Viewstate, session & Les cookies doivent être gérés dans la couche de présentation. Le cache est probablement la seule chose que vous devriez déconnecter pour ... et il doit être géré dans la couche Business ou Facade lorsque vous voulez mettre en cache des données.

1

Normalement, l'objet Session ne doit être utilisé que pour la couche de présentation, sinon vous ajoutez une logique web spécifique (présentation) à votre couche de gestion. Vous briser le couplage lâche.

Si je dois briser le couplage lâche que je le ferais quelque chose de mieux que l'objet de la session :-)

Questions connexes