請任何人建議我如何在asp.net中實際工作? 我迷惑在會話的一部分,並希望它的簡單知識,請指導我會話如何在asp.net中工作?
25
A
回答
45
ASP.NET使用Cookie來跟蹤用戶。當您第一次嘗試向會話寫入內容時,會將cookie發送給客戶端,如ASP.NET_SessionId
。這個cookie是由客戶在後續請求中發送的。由於這個cookie,服務器能夠識別客戶端並寫入/讀取關聯的會話數據。需要注意的是,這個cookie不是持久的(在瀏覽器重新啓動後不會存在),並且與HttpOnly標誌一起發出,意味着客戶端腳本無法訪問它。
除了餅乾,你還可以配置ASP.NET使用隱藏域或會話ID附加到每個請求的查詢字符串。
所以後面會基本想法是,實際的數據被存儲在某個地方的服務器上,客戶端發送一些ID對每個請求,使服務器能夠知道在哪裏可以找到它的數據。
默認有3個地方的實際會話數據可以存儲:
- 進程內:會話存儲到應用程序的內存(速度最快的,但如果你有一臺服務器的多臺服務器農場,這將無法正常工作)
- 程序外:數據存儲到一個單獨的服務器,其中安裝了狀態服務(數據存儲在單獨的計算機的內存中,這意味着多個Web服務器可以工作網絡農場)
- SqlServer:數據存儲在SQL Server中(它是最慢但最可靠的會話數據存儲在SQL Server數據庫中,並可能servive如果會話服務器崩潰這是不符合外的PROC)
- 定製實現的情況:感謝您ASP.NET的可擴展性可以編寫自己的會話提供和存儲無論你喜歡哪個數據。
這是關於MSDN的一篇很好的文章,它探討了ASP.NET Session State。
4
會議:存儲在服務器端]
1.如果您創建會話方式,服務器存儲會話數據,並創建一個會話ID。 [使用的SessionID會話數據存儲在國家提供的服務器]
2.然後服務器返回的SessionID到客戶端的瀏覽器。
3.然後您可以將返回的SessionID存儲在Cookie中。
4.即將發生的使用SessionID附加的後續請求可以訪問服務器數據。
注意:僅針對當前瀏覽器會話和用戶特定的會話。
相關問題
- 1. Asp.net:會話如何在服務器場環境中工作
- 2. 會話如何在Coldfusion中工作?
- 3. 會話如何在Azure中工作
- 4. 會話如何在ajax codeigniter中工作
- 5. 會話如何在java中工作?
- 6. 會話如何工作?
- 7. Codeigniter中的會話如何工作
- 8. 會話如何在線工作
- 9. ASP.NET MVC調試會話不工作
- 10. vb asp.net會話變量不工作?
- 11. ASP.NET MVC - 工作單元vs會話
- 12. ASP.Net會話超時不工作
- 13. 如何在asp.net中處理會話mvc
- 14. 如何在WCF中使用ASP.NET會話?
- 15. 負載平衡器如何與asp.net會話一起工作
- 16. ASP.NET - 在會話變量中存儲類 - 它如何工作(內存)?
- 17. 會話超時不能在C#asp.net中工作
- 18. 會話在asp.net?
- 19. 會話在PHP不工作
- 20. ASP.net如何使用會話?
- 21. Asp.net會話開始如何?
- 22. Spring Security會話如何工作?
- 23. HTTP「會話」重建如何工作?
- 24. 休眠會話如何工作
- 25. Spring會話變量如何工作
- 26. FLEX會話管理如何工作
- 27. 會話和cookie如何工作?
- 28. 會話不工作
- 29. 會話不工作
- 30. 會話不工作
嘗試讀取這個CodeProject上的文章 http://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Net – kfuglsang