HttpSessionState 在哪里、如何、优点?

Bil*_*lıç 2 c# asp.net session asp.net-ajax session-variables

你看下面的代码,我是如何使用会话变量的;所以这三个问题是:

  1. 它们存储在哪里?(服务器端或客户端)
  2. 它们对于每个网页访问者来说都是唯一的吗?
  3. 当我的工作完成后,我可以使用 ajax 或简单的 js 代码将其删除吗?或者它会自动删除..?

sbyte[][] arrImages = svc.getImagesForFields(new String[] { "CustomerName", "CustomerSurName" });

Dictionary<string, byte[]> smartImageData = new Dictionary<string, byte[]>();
int i = 0;
foreach (sbyte[] bytes in arrImages)
{
    smartImageData.Add(fieldNames[i], ConvertToByte(bytes));
    i++;
}

Session.Add("SmartImageData", smartImageData);
Run Code Online (Sandbox Code Playgroud)

Eri*_*erk 6

请在此处阅读有关会议的更多信息。回答您的问题:

  1. 取决于您的配置(进程内、会话状态服务器等),但始终在服务器端。
  2. 是的,每个访问者都会获得一个独特的 cookie。
  3. 您可以通过删除会话 cookie(通常ASP.NET_SessionId)在客户端删除它,或者通过调用 来在服务器端删除它Session.Abandon()。此外,会话在一定的(可配置的)不活动时间段后也会超时。