HttpCookie
参考 : http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html
上文结尾有提到一个说法
4. HttpRequest.Cookies 与 HttpResponse.Cookies 会有关系(很奇怪吧)。
微软官网也是这么说的 : https://msdn.microsoft.com/en-us/library/system.web.httprequest.cookies(v=vs.110).aspx
After you add a cookie by using the HttpResponse.Cookies collection, the cookie is immediately available in theHttpRequest.Cookies collection, even if the response has not been sent to the client.
这情况有时候会让我们有点混淆。所以我特别写了一篇来解释它.
首先我们要知道
1.
var listx = Response.Cookies.AllKeys.ToList(); //empty list
if (Response.Cookies["c"] != null)
{ }
var list = Response.Cookies.AllKeys.ToList(); //["c"] got 1 data
即使我们只是读取,也是再创建
2. httpRequest.cookie 的 expires 永远是 0001 年
Response.Cookies["c"].Expires.Year == 1
回到真题
所以如果说我们想获取某些请求的cookie,我们可以使用 httpRequest.cookie['a'] 去拿,这时你当然有可能也会把response的一起拿出来, 这时我们需要过滤
如果cookie.expires.year == 1 就表示他是request 而不是response, 除非你的response 也是year == 1 , ... 这哪里可能=.="
那么如果我们想要拿一个response则相反,我们去httpResponse拿,然后过滤 year != 1;
当你的request和response 同时拥有一个同名的cookie时,你使用 request.cookie 和response.cookie 拿出来的cookie是不同的。
说的有点含糊,但是基本上测试一下就明白了。以后有空才写整齐版本.
HttpCookie的更多相关文章
- httpCookie与Cookie安全
Web 应用程序使用的 Cookie 个人认为这里设置的cookie与访问cookie的安全性关联大一点,配置节如下 <httpCookies domain="String" ...
- ahjesus在asp.net中还可以通过设置HttpCookie对象的过期时间为DateTime.MinValue来指定此Cookies为跟随浏览器生效
ahjesus在asp.net中还可以通过设置HttpCookie对象的过期时间为DateTime.MinValue来指定此Cookies为跟随浏览器生效
- web.config中的HttpCookie.HttpOnly属性
Abstract: The program does not set the HttpCookie.HttpOnly property to true. Explanation: The defaul ...
- HttpCookie加匿名类实现多语言
突然想做一个多语言网站,确不知道怎么实现好,突然想到了HttpCookie,然后页面后台用匿名类实现语言的储存. string lan = Request["str_lan"]; ...
- (转)Asp.net的HttpCookie写入汉字读取时为乱...
今天有个问我:在Asp.net的HttpCookie中写入汉字,读取值为什么全是乱码?其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!其实解决的方法很简单:只要在写入Cook ...
- HttpCookie类
转自:http://www.cnblogs.com/kissdodog/archive/2013/01/08/2851937.html HttpCookie类专门由C#用于读取和写入Cookie的类. ...
- 笔记整理--Http-Cookie
如何设置一个永远无法删除的Cookie -- 系统架构 -- IT技术博客大学习 -- 共学习 共进步! - Google Chrome (2013/6/20 9:46:38) 如何设置一个永远无法删 ...
- Jmeter(八)HTTPCookie管理器
Cookie绝对是日常工作以及技术中一个绕不过去的‘角色’,正常各种各样的业务需要Cookie的存在.Jmeter中也有支持发送Cookie的组件,但是,仅是后话:在此还是有必要先记一记Cookie到 ...
- HttpCookie Class
提供创建和操作各 HTTP Cookie 的类型安全方法. #region 写入指定Cookie的值 +static void WriteCookie(string cookieName, strin ...
- System.Web.HttpCookie.cs
ylbtech-System.Web.HttpCookie.cs 1.程序集 System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken= ...
随机推荐
- Robot Framework selenium2library 常用关键字
Selenium Library SeleniumLibrary is a Robot Framework test library that uses the popular Selenium we ...
- ORACLE的RMAN
1.什么是RMAN? RMAN可以用来备份和还原数据库文件.归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. 注意:RMAN不能用于备份初始化参数文件和口令文件. RMAN启动数据库上的 ...
- python 2017.1.9
python对缩进和空格要求非常严格,要求非常对齐 print时不同字符串之间会自动加上空格 while 和 if 等没有结束标记,全部通过对齐的方式表示的
- 图片左右循环连续滚动代码,解决marquee的留白问题
<marquee ONMOUSEOUT="this.start()" ONMOUSEOVER="this.stop()" DIRECTION=" ...
- android 回调机制实例!
详细实现为在类中定义接口.在接口的实现方法中传入參数(也能够不传). 在调用类中传入新建的接口.并实现未实现的方法. public class CallBackClass { //传入对应的接口作为參 ...
- Sublime Text 常用快捷键
/* 之前用过的好多的编辑器,从IT大牛们的博客里知道了他们所谓的Vim,Vi,Emacs等,也都挨个装上试了,不尽人意,但自从遇到了Sublime Text,甚是喜欢,有道是“情不知何而起,一往而深 ...
- Android中完全退出当前应用系统
一.将统一管理Activity的类ActivityManager复制到工程里面. package com.jsmtr.www.Helper; import java.util.LinkedList; ...
- Oracle数据库配置方式二--使用Net Manager配置数据库
在Oracle安装配置中使用Net Configuration配置了数据库,今天给大家介绍第二种配置方式,Net Manager配置. 先找到我们的Net Manager的快捷方式,如下面截图
- Oracle 11g详细安装配置教程
最近开始学习Oracle数据库了,根据我的理解Oracle数据库是一种强大.复杂.高性能的数据库,而且价格不菲,使用都是中大型企业,土豪专用.学习一种数据库的入门工作就是先安装这种数据库,鉴于大批道友 ...
- 开发部署一个简单的Servlet
Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...