2010-05-25 42 views
1

我正在开发一个3-ASP.NET ASP.NET C#Web应用程序,并且想知道应该在哪里管理会话。我有一个SessionManager类,如下所示:我们应该在哪里管理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; } 
      } 
    } 

现在应该会话信息业务逻辑层中进行管理,还是应该在表示层来管理?

回答

2

在ASP.NET中,视图状态,会话&饼干应在表示层所管理。

缓存可能是您应该为...打破松散耦合的唯一方法,并且当您要缓存数据时,它应该在Business或Facade层进行管理。

1

通常情况下,Session对象只能用于表示层,否则就是将Web特定的逻辑(表示)添加到业务层。你会打破松散的耦合。

如果非要打破松耦合我会做的东西比Session对象更好:-)

相关问题