Cookie时间问题

时间:2011-07-21 19:49:28

标签: c# .net

当我通过Response.cookies.add(cookie);添加cookie时,在客户端从我的网站请求页面之前,我的cookie不会放在客户端。在请求时.net会做一些魔术,将cookie放在响应中,客户端将存储它。 这是真的吗? 如果上述假设为真,我应该可以通过cookie = response.cookies("foo")查看未放置的Cookie。 似乎是合乎逻辑的,但它是否正确?

总结一下。

我正在放置一个cookie,稍后在代码中提交请求之前我正在检查cookie是否在request.cookies("foo"中)如果不是我正在检查response.cookies("foo")。此方法不起作用。在将cookie发送到客户端之前,我将如何阅读cookie。

我需要回答的实际问题; 在将Cookie信息发送到浏览器之前,有没有办法查看?如果不进行其他检查以确定是否等待发送,请检查浏览器上是否存在cookie。如果等待发送,则读取数据

非常感谢你。

1 个答案:

答案 0 :(得分:2)

如果我正确理解了问题,那么您希望在收到客户请求后的某个时刻向HttpResponse添加Cookie。然后在稍后处理请求时,您想再次访问相同的cookie。

此引用可能会对您有所帮助:

  

“使用HttpResponse.Cookies集合添加Cookie后,即使未将响应发送到客户端,Cookie也会立即显示在HttpRequest.Cookies集合中。”

(来自http://msdn.microsoft.com/en-us/library/system.web.httpresponse.cookies.aspx

我建议你只在响应过程中的某一点处理cookie。因此,您可以检查它是否在HttpRequest中可用,如果没有,则将其添加到HttpResponse并调用您的其他逻辑。