Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 请求.Cookies和响应.Cookies的默认同步_Asp.net_Cookies_Request_Response_Duplication - Fatal编程技术网

Asp.net 请求.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

有没有人可以澄清我在.NET 4.0 web应用程序中尝试操纵cookie集合以响应.Cookies和/或Request.Cookies时遇到的行为。尽管我努力寻找文档或论坛帖子,以明确确认Request.Cookies和Response.Cookies的预期默认行为,但我始终无法找到一个明确的答案,现在我遇到了一个需要这样做的情况

我的确切问题是: *是请求、Cookies和响应、Cookies绝对应该被认为是完全独立的集合,还是它们实际上代表了同一集合的两种不同“视图”

  • 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。看看另一个