我有一个页面检查设置的 cookie 的值,HttpResponse
并且根据某些标准,该页面可能会修改该值。逻辑基本上是:
If Response.Cookie("foo").Value = "bar" Then
Response.Cookie("foo").Value += "rawr"
End If
显然,任何从 cookie 中取出的尝试都会Response.Cookie
导致该 cookie 被设置在响应中。在下面的代码中,即使没有设置或添加到 Response.Cookie
集合中......
Dim c As HttpCookie = Response.Cookies("rawr")
Response.Cookies.Get("foo")
...响应仍然包含...
Set-Cookie: rawr=; path=/
Set-Cookie: foo=; path=/
所以这对我的原始代码片段意味着如果 cookie 值不等于foo
,则 cookie 将被清空(因为将 cookie 放入If
集合中,它是空白的,并且条件永远不会将它设置为+="bar"
.
检查和修改 Response.Cookie
集合中的 cookie 而不无意将它们设置为空白的正确方法是什么?