Session 屬性提供對 HttpSessionState 類的屬性和方法的編程訪問。由於 ASP.NET 頁包含對 System.Web 命名空間(含有 HttpContext 類)的默認引用,因此在 .aspx 頁上可以引用 HttpContext 的成員,而不需要使用對 HttpContext 的完全限定類引用。例如,可使用 Session("SessionVariable1") 獲取或設置會話狀態變量 SessionVariable1 的值。但是,如果要從 ASP.NET 代碼隱藏模塊中使用 HttpResponse 的成員,則必須在模塊中包括對 System.Web 命名空間的引用,同時還要包括對當前活動的請求/響應上下文以及要使用的 System.Web 中的類的完全限定引用。例如,在代碼隱藏頁中,必須指定完全限定名稱 HttpContext.Current.Session("SessionVariable1")。
如果未啟用會話狀態,則無法設置或獲取會話狀態值。若要為應用程序配置會話狀態設置,請在 Web.config 文件中設置 sessionState 元素的 mode 屬性。啟用會話狀態后,如果請求一個會話狀態變量中不存在的值,則會返回 null。
HttpContext.Current.Session 這個通常用在單獨的類里。Page.Session一般是頁面的后置類里用
在一個類中,要想獲得當前頁面的請求或者響應對象,可以通過HttpContext.Current
System.Web.HttpRequest是一個對象,HttpContext.Current.Request是通過Request這個屬性取出這個對象,這個對象不是靜態的。
可以創建一個對象HttpRequst,但是這個對象的數據和HttpContext.Current.Request的數據是不一樣的。