C#中Request.Cookies 和 Response.Cookies 的区别分析

如题所述

Request.Cookies:主要是用于获取所有Cookie值的,包括JS、Request.Cookies和Response.Cookies三种方法创建的Cookie值;说到这里,大家可以看出Request.Cookies既可以获取Cookie也可以创建Cookie,那么它创建的Cookie与Response和JS创建的Cookie有什么不用呢,通过实验发现,通过Request.Cookies创建的Cookie只有?Request.Cookies才能获取到,而其他两种方法是不能获取的,也就是说Request.Cookies创建的Cookie只能用于.Net后台不能用于HTML的前台。

Response.Cookies:主要用于Cookie的创建、赋值和删除操作,经过?Response.Cookies操作过的Cookie,所有方法获取到的都是被更新过的值,也就是说Response.Cookies是修改所有容器中的Cookie的值;Response.Cookies除了是Cookie的终极修改者外,我们在写代码的时候可能会发现通过Response.Cookies也可以得到部分Cookie的值,通过实验发现,此处获取的Cookie值只是本次会话中且是通过Response.Cookies创建的Cookie,基本上没什么用处。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-14
★ Request
提供对当前页请求的访问,其中包括请求标题、Cookie、客户端证书、查询字符串等。可以使用此类读取浏览器已经发送的内容。
下面的C#代码示例说明如何从 HttpRequest 对象获取 Headers 集合并将其写入 ASP.NET 页。
int loop1, loop2;
NameValueCollection coll;

coll=Request.Headers;
String[] arr1 = coll.AllKeys;
for (loop1 = 0; loop1<arr1.Length; loop1++)
{
Response.Write("Key: " + arr1[loop1] + "<br>");
String[] arr2=coll.GetValues(arr1[loop1]);
for (loop2 = 0; loop2<arr2.Length; loop2++)
{
Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");
}
}
★ Response
提供对当前页的输出流的访问。可以使用此类将文本插入页中、编写 Cookie,等等。
下面的C#代码示例演示如何通过使用 HttpResponse 对象创建 Cookie,并将其添加到页的 HTTP 输出。
HttpCookie MyCookie = new HttpCookie("LastVisit");
DateTime now = DateTime.Now;
MyCookie.Value = now.ToString();
MyCookie.Expires = now.AddHours(1);
Response.Cookies.Add(MyCookie);

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网