5

在页面加载中,如果您立即在下一行执行 Response.Cookies.Add(..., 您可以通过 Request.Cookies(...

我知道在幕后,cookie 是由 .net 添加到 Request.Cookies 中的,但原始请求从来没有那个 cookie。

如果我说的是对的,为什么会这样?cookie 不应该在以下请求中可用吗?对 Request.Cookies(... 的立即访问不应该为空吗?

4

1 回答 1

6

没错,ASP.NET 确实在幕后做到了这一点:

使用集合添加 cookie 后 ,即使尚未将响应发送到客户端HttpResponse.Cookies,该 cookie 也会立即在集合中可用 。HttpRequest.Cookies

-- MSDN 上的HttpRequest.Cookies 页面

为什么会这样?猜测是因为开发人员期望它是这样工作的。

于 2010-08-04T13:52:51.377 回答