簡體   English   中英

Asp.net中的會話

[英]Session in Asp.net

當我們向ASP.NET Session添加一個變量時,那些變量實際存儲在客戶端那里?

如果您在ASP.NET中使用默認會話,那么它將存儲在ASP.NET輔助進程內部的內存中。 它是服務器端緩存,與客戶端無關。 還有其他會話存儲選項可用,例如專用會話狀態機或sql server。 您也可以滾動自己的會話提供程序。

所有這些都在這里解釋http://msdn.microsoft.com/en-us/library/ms972429.aspx

客戶端被賦予cookie以識別它(ASP.NET_SessionId),但所有值都存儲在服務器上。

如果您使用Firebug或Fiddler,您可以看到此設置。 您可以使用Session.SessionID.ToString()查看值是什么

正如redsquare建議默認配置是將所有值存儲在服務器的內存中(限制會話中存儲內容的一個原因),但如果您願意,也可以將其存儲在sql server,state server或您自己的提供程序中,

如果您更改識別烹飪中的值,那么它將改變服務器在返回會話變量時認為您的身份。 我們使用此功能來幫助我們調試用戶會話中的內容。

我認為識別會話cookie還有一個名為HttpReadOnly的屬性,因此出於安全原因無法從javascript中讀取。

會話存儲在Web服務器上,而不是客戶端上。 ASP.NET通常在cookie中存儲會話密鑰,並在下次與Web服務器聯系時使用它來標識會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM