为什么Request.Cookies和Response.Cookies都使用相同的对象?

时间:2014-06-05 15:06:39

标签: asp.net cookies

Request.Cookies和Response.Cookies都包含HttpCookies的集合,但是,Cookie对象的用法各不相同。例如,Request.Cookies [" MyCookie"]中包含的值。过期似乎没用,因为浏览器实际上并未将过期日期发送回带有请求的服务器。但是由于这个字段存在,它会引起很多混淆,开发人员认为字段有意义,试图使用它,然后不可避免地搜索找出为什么到期日总是1/1/0001。在查看响应与请求中的cookie时,还有其他未使用的字段,因为它们以不同的方式使用,所以我想知道:

考虑到上述使用问题,为什么单个类(HttpCookie)用于请求cookie和响应cookie有哪些潜在的设计原因?

编辑:我看到有些人投票决定关闭这个问题,因为它太基于意见了。当然有人可能知道答案,例如因为X,它就是这样设计的。如果MS之外没有人知道X是什么,我也会有兴趣知道某个人最好的猜测。

编辑2:另一个有效的答案是它可能是一个疏忽,它们应该是不同的对象。

1 个答案:

答案 0 :(得分:0)

我从未在原始搜索中找到这个,但我猜安东尼对this question的回应可能是我得到的最好的。他建议:

  

严格来说,.NET应该使用两种不同的类型(RequestCookie和ResponseCookie),而是选择在两种情况下使用相同的类型。

我很乐意接受一个答案,提供有效理由(或推测)为什么做出这样的选择,如果是故意的话。