您会看到下面的代码,我是如何使用session变量的;
因此,这三个问题是:


它们存储在哪里? (服务器或客户端)
它们是否对每个网页访问者都是唯一的?
完成工作后,可以使用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);

最佳答案

阅读有关会话here的更多信息。要回答您的问题:


取决于您的配置(进程内,会话状态服务器等),但始终在服务器端。
是的,每个访客都会获得一个唯一的cookie。
您可以通过删除会话cookie(通常是ASP.NET_SessionId)在客户端将其删除,或者可以通过调用Session.Abandon()在服务器端将其删除。同样,会话在特定(可配置)的非活动时间段后超时。

关于c# - HttpSessionState在哪里,如何获得优势?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3061708/

10-12 07:05