2010-05-25 77 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對象更好:-)

相關問題