C# 是否有理由创建一个新的HttpCookie使其过期?

C# 是否有理由创建一个新的HttpCookie使其过期?,c#,asp.net,cookies,C#,Asp.net,Cookies,我正准备编写一些代码,用C#清除ASP.NET站点中的cookie。虽然我经常遇到这种清理cookie的方法 if (Request.Cookies["my_cookie"] != null) { HttpCookie myCookie = new HttpCookie("my_cookie"); myCookie.Expires = DateTime.Now.AddYears(-20); Response.Cookies.Add(myCookie); } 我很好奇使用上述方

我正准备编写一些代码,用C#清除ASP.NET站点中的cookie。虽然我经常遇到这种清理cookie的方法

if (Request.Cookies["my_cookie"] != null)
{
   HttpCookie myCookie = new HttpCookie("my_cookie");
   myCookie.Expires = DateTime.Now.AddYears(-20);
   Response.Cookies.Add(myCookie);
}
我很好奇使用上述方法和以下方法之间的区别:

if (Request.Cookies["my_cookie"] != null)
{
   Response.Cookies["my_cookie"].Expires = DateTime.Now.AddYears(-20);
}

我的困惑是,为什么要创建一个新的
HttpCookie
实例,设置
Expires
,然后将其添加到响应中,而您可以直接在
Response.Cookies
中设置
Expires
?这两者在复杂性上有什么不同吗?我已经测试过了,我知道它们都有效。我只想知道哪一个是首选的,原因是什么。

@user2864740 cookies不会自动神奇地从请求复制到响应(与其他方法不同,将cookie添加到响应会将其添加到请求)。