如何在AspNet Core中列出具有更改的Cookie

时间:2018-09-25 14:08:25

标签: cookies asp.net-core-mvc asp.net-core-2.1

在我的应用程序中,我具有设置cookie的过滤器:

HttpContext.Response.Cookies.Append("myCookie", "value")

当我在视图中打印cookie值时:

HttpContext.Request.Cookies["myCookie"];

它不在那里。如果我刷新页面cookie被设置。发生这种情况是因为使用Response.Cookies.Append不会更新Request.Cookies集合。是否可以查看在请求期间进行了更改的当前cookie?

在我的Web应用程序中,我有IAsyncActionFilter,它会更新cookie,但是更正后的值只有在刷新页面后才可见,我想用新值完成当前请求。我知道它将在响应完成时由浏览器设置,但是我已经知道该cookie具有新的值,并且我希望将此值传播给读取cookie的视图。

1 个答案:

答案 0 :(得分:0)

不。这就是Cookies的工作方式。它们来自客户端。换句话说,cookie在收到来自服务器的带有Set-Cookie标头的响应之后,由客户端设置。然后,只有在客户端发出另一个请求并将其发送回cookie后,它才存在于服务器端。目前尚不清楚最终要实现的目标,但是即使设置了将重定向返回到同一页面,您也需要在设置cookie后强制新请求才能访问该cookie。