C# 使用HttpResponse.Cookies的索引器将向响应和请求添加cookie。这背后的想法是什么?

C# 使用HttpResponse.Cookies的索引器将向响应和请求添加cookie。这背后的想法是什么?,c#,.net,cookies,C#,.net,Cookies,在我通过索引器使用HttpContext.Response.cookies替换了一些遗留代码之后,当我的网站突然返回空cookies时,我才意识到这一点。例如: HttpCookie objCookie=HttpContext.Response.Cookies[“TrackingId”] 这一行将向响应和请求添加一个名为“TrackingId”的cookie,如果它还不存在的话 对我来说,这有点令人惊讶,因为我从来没有想到在索引器上进行一次简单的get调用会出现如此激烈的行为;特别是当集合有一个

在我通过索引器使用HttpContext.Response.cookies替换了一些遗留代码之后,当我的网站突然返回空cookies时,我才意识到这一点。例如:

HttpCookie objCookie=HttpContext.Response.Cookies[“TrackingId”]
这一行将向响应和请求添加一个名为“TrackingId”的cookie,如果它还不存在的话

对我来说,这有点令人惊讶,因为我从来没有想到在索引器上进行一次简单的get调用会出现如此激烈的行为;特别是当集合有一个专用的“Add”方法时。此外,索引器还有一个setter

说:

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

我已经找到了避免这个问题的方法。 我的问题是:


为什么要让类以这种方式运行?

否则您将如何添加cookies?使用“add”方法添加(新的HttpCookie(“TrackingId”)`