<sessionState cookieless="useUri" />
或
<sessionState cookieless="AutoDetect" />
配置时,当编写到“cookieless=”语句时,将弹出 AutoDetect、useCookies、useDeviceProfile、useUri 四种选择。选择 AutoDetect 或 useUri 均可在无 Cookies 的条件下识别用户。
虽然在 <sessionState> 节点中还可以配置会话状态管理的其他方面,包括存储介质和连接字符串等,但是,就 Cookie 而言,只需设置 Cookieless 属性即可。
系统是如何在无 Cookie 的条件下识别用户的呢?原来当进行了前面的设置以后,系统将会要求用户自动将客户端的资源信息嵌入到用户设用的 URL 语句中。例如,在使用 Cookie 的情况下,某用户设用网页时的 URL 是:http://yourserver/folder/default.aspx,现在设置了不使用 Cookie 的配置,调用的语句的 URL 将变成:http://yourserver/folder/(session ID here)/default.aspx,其中“session ID here”代表用户的资源信息所处的位置。该信息已经被插入到 URL 的语句中。由于用户资源信息对于用户来说具有惟一性,因此可以利用它与 Session 对象结合,一起来识别用户。
下面举一个完整的小例子吧,请看下面的源代码:
HttpCookie ck = Request.Cookies["cktest"];
if (ck == null)
{
ck = new HttpCookie("cktest");
ck.Value = "123";
ck.Expires = DateTime.Now.AddSeconds(20);//20秒的有效期
Response.Cookies.Add(ck);
Response.Write("new ck");
}
else
{
Response.Write(ck.Value.ToString());
}
//在一个Cookie中储存多个信息
HttpCookie cookie = new HttpCookie("cktest");
cookie.Values.Add("v1", "1");
cookie.Values.Add("v2", "2");
cookie.Values.Add("v3", "3");
Response.AppendCookie(cookie);
HttpCookie cookies = Request.Cookies["cktest"];
string value1 = cookies.Values["v1"];
string value2 = cookies.Values["v2"];
Response.Write(value1 + value2);
以上就是关于ASP.NET中Cookie状态的说明与用法,对于Cookie 使用的利与弊说法不一,我们要合理使用Cookie希望本文对大家学习Cookie有所帮助。








