首页 > 解决方案 > 从子路径读取 cookie 的问题

问题描述

我有一个保存和读取 cookie 的 Razor Pages 应用程序。

为了防止具有潜在冲突名称的 cookie 相互重叠,我一直在使用当前请求路径保存 cookie。

CookieOptions options = new()
{
    Path = Request.Path
}

options.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Append(key, value, options);

这一直运作良好。但是一个这样的页面已从/Folder移动到/Folder/Subfolder。现在它不能正常工作。

我认为发生的事情是,由于我使用/Folder存储了一个 cookie ,它正在读取这些 cookie,而不是更专业的/Folder/Subfolder中的那些。

我想知道这是否正确。有没有办法告诉它从更专业的/Folder/Subfolder中读取 cookie 。

我读过文章说,如果两个 cookie 具有相同的名称,则应该使用具有最长(更具体)路径的那个。但是,在这里,似乎Request.Cookies[]只返回具有较短路径的 cookie 的值。

更新:

似乎在 .NET Core 中删除了HttpCookie访问对象的能力。(哦,为了拥有“更好”的东西,我们必须失去源源不断的功能。)至少在旧版本中,我可以检测到多个值!

标签: c#.netcookiesrazor-pages.net-5

解决方案


推荐阅读