2008-10-23 78 views

回答

10

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

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

2

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

4

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

如果您使用Firebug或Fiddler,您可以看到正在設置。您可以通過使用Session.SessionID.ToString()

看到什麼值。由於redsquare暗示默認配置是將所有值存儲在服務器的內存中(一個原因用於限制您在會話中存儲的內容),但如果你願意,你也可以將它存儲在sql服務器,狀態服務器或你自己的提供商處,

如果你在識別烹飪中改變了這個值,它會改變服務器認爲你是什麼時候返回會話變量。我們使用此功能來幫助我們調試用戶會話中的內容。

我認爲識別會話cookie有一個屬性叫做像HttpReadOnly這樣的設置,所以它不能從JavaScript中讀取出於安全原因。