我對asp.net會話管理有很好的理解。
但我對此有幾點疑問。asp.net會話技術
- 當會話ID被創建時。當客戶端用用戶名和密碼登錄到應用程序時。或者當客戶端嘗試訪問default.aspx頁面時。
- 服務器如何提供客戶端會話請求。
- 我們可以訪問js中的會話ID嗎?
- 在客戶端服務器會話創建方面,ASP.NET Web窗體和ASP.NET MVC之間有什麼區別嗎?
任何有關會話的深入思考的鏈接/書籍都會對我有所幫助。
在此先感謝! Prashant
我對asp.net會話管理有很好的理解。
但我對此有幾點疑問。asp.net會話技術
任何有關會話的深入思考的鏈接/書籍都會對我有所幫助。
在此先感謝! Prashant
我對asp.net會話管理有很好的理解。
我認爲你濫用這裏的條款。 ASP.NET Session
是一回事,Forms Authentication
是完全不同的東西。我想你在這裏正在談論表單身份驗證。
1)當會話ID被創建時。當客戶端用用戶名和密碼登錄到應用程序 時。或者當客戶端嘗試訪問default.aspx 頁面時。
當有人調用FormsAuthentication.SetAuthCookie
方法時,通常會在LogOn操作驗證用戶名和密碼憑據後發生。
2)服務器如何提供客戶端會話請求。
當FormsAuthentication.SetAuthCookie
方法被調用並且此cookie在每個後續請求中被髮送到服務器時,表單身份驗證cookie將發送到客戶端。該cookie包含允許服務器填充IPrincipal的用戶名的加密值。
3)我們可以訪問js中的會話ID嗎?
不,表格身份驗證cookie與httponly
標誌一起發出,意味着客戶端腳本無法訪問它。
4)ASP.NET Web窗體和ASP.NET MVC在客戶端服務器會話創建方面有什麼區別嗎?
它們是完全相同的。其實沒有ASP.NET MVC client server session creation
這樣的概念。所有這些機制都來自ASP.NET。
現在讓我們假設你實際上談到了ASP。NET會話在你的問題。我將嘗試在這種情況下回答您的問題:
1)創建會話標識時。當客戶端用用戶名和密碼登錄到應用程序 時。或者當客戶端嘗試訪問default.aspx 頁面時。
每當某些服務器端代碼嘗試使用HttpContext.Session
屬性讀取或寫入會話時。
2)服務器如何提供客戶端會話請求。
當某些服務器端腳本嘗試讀取或寫入HttpContext.Session
對象時,將會話cookie發送到客戶端。這個cookie會在每個後續請求中發送到服務器。該cookie只是一個允許訪問存儲在服務器上的會話數據的標識。默認情況下會話數據存儲在內存中。但是,您也可以配置ASP.NET以將其存儲在proc或SQLServer中。有關各種會話狀態模式的更多信息,請參閱MSDN
。
3)我們可以訪問js中的會話ID嗎?
不,ASP.NET會話cookie與httponly
標誌一起發出,意味着客戶端腳本無法訪問它。
4)ASP.NET Web窗體和ASP.NET MVC在客戶端服務器會話創建方面有什麼區別嗎?
它們是完全相同的。其實沒有ASP.NET MVC client server session creation
這樣的概念。所有這些機制都來自ASP.NET。
感謝您的糾正Darin – Prashant
哇!非常好的解釋....... – Niventh