Asp.net 请求.Cookies和响应.Cookies的默认同步
有没有人可以澄清我在.NET 4.0 web应用程序中尝试操纵cookie集合以响应.Cookies和/或Request.Cookies时遇到的行为。尽管我努力寻找文档或论坛帖子,以明确确认Request.Cookies和Response.Cookies的预期默认行为,但我始终无法找到一个明确的答案,现在我遇到了一个需要这样做的情况 我的确切问题是: *是请求、Cookies和响应、Cookies绝对应该被认为是完全独立的集合,还是它们实际上代表了同一集合的两种不同“视图”Asp.net 请求.Cookies和响应.Cookies的默认同步,asp.net,cookies,request,response,duplication,Asp.net,Cookies,Request,Response,Duplication,有没有人可以澄清我在.NET 4.0 web应用程序中尝试操纵cookie集合以响应.Cookies和/或Request.Cookies时遇到的行为。尽管我努力寻找文档或论坛帖子,以明确确认Request.Cookies和Response.Cookies的预期默认行为,但我始终无法找到一个明确的答案,现在我遇到了一个需要这样做的情况 我的确切问题是: *是请求、Cookies和响应、Cookies绝对应该被认为是完全独立的集合,还是它们实际上代表了同一集合的两种不同“视图” Request.C
- Request.Cookies和Response.Cookies之间的“关系”中的同步程度如何。除了将cookie添加到Response.Cookies中这一事实之外,我知道的请求.Cookies(因为它已被记录在案)中立即可见,由于额外的自动同步,默认情况下我是否应该期望两个集合中的所有其他cookie始终相同
- 如果有一些同步,它是瞬时的,还是在生命周期的某个特定阶段处理的
- 如果存在一些同步,是否有可能,甚至建议避免发生同步
- 处理来自以前过时浏览器请求的重复cookie的最佳方法是什么?目前,我的努力没有成功,因为我对响应所做的任何更改。Cookie会立即包含在请求中。Cookie(再次出现预期行为),但是。。。出现了一些隐式的“幻影”过程,其结果是再次同步集合-换句话说,我能找到的唯一可能的结果是我的响应。Cookies集合没有重复cookie的副本,或者返回到两个重复cookie的原始状态
提前感谢…请求和响应对象的Cookies属性是的两个不同实例。但是,初始化响应对象时,HttpCookieCollection的实例将使用响应对象的引用创建。
调用Response.Cookies.Add不仅会将cookie添加到自身实例中,还会通过Response.oncokieadd(cookie)将cookie添加到Request.Cookies中。
总的来说,您希望遵循从Request.Cookies中获取cookie的做法,或者超时(在浏览器上删除cookie),或者修改cookie,然后将其设置回响应。如果只想添加cookie,请使用add方法,否则请使用Set确保只返回一个具有该名称的cookie。请参阅另一个。请求和响应对象的Cookie属性是的两个不同实例。但是,初始化响应对象时,HttpCookieCollection的实例将使用响应对象的引用创建。
调用Response.Cookies.Add不仅会将cookie添加到自身实例中,还会通过Response.oncokieadd(cookie)将cookie添加到Request.Cookies中。
总的来说,您希望遵循从Request.Cookies中获取cookie的做法,或者超时(在浏览器上删除cookie),或者修改cookie,然后将其设置回响应。如果只想添加cookie,请使用add方法,否则请使用Set确保只返回一个具有该名称的cookie。看看另一个