2008-10-23 71 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中读取出于安全原因。