ASP.NET 用户配置文件与使用 Cookie

标签 asp.net cookies profile

我认为,在几乎所有情况下,用户偏好数据都可以存储在 cookie 中,结果(几乎)与使用 User Profile API 时一样好。使用 cookie(对于经过身份验证的用户)的缺点似乎是 cookie 可以被删除或超时,在这种情况下,用户首选项数据将丢失。对于匿名用户,如果偏好数据需要跨 session 持久化,那么即使使用用户配置文件也必须使用 cookie。

那么,使用用户配置文件或 cookie 存储用户偏好的最大优点/缺点是什么?

最佳答案

在网站上注册的一个好处是它可以记住我的偏好 - 如果您将该信息存储在我机器上的 cookie 中,而不是在您的服务器上,那么当我从另一台计算机登录到您的网站时,我必须重新设置我所有的偏好 - 从可用性的角度来看,这相当糟糕。

对于匿名用户,将首选项存储在 cookie 中似乎相当明智 - 您不知道他们是谁,也不知道他们是否会回来,而且正如您所说,您无法从一个 session 到接下来他们是谁 - 但是您最好将某种 token 存储在 cookie 中并将其映射到服务器上的首选项存储。

另外,我注意到不同的浏览器对 cookie 有不同的实现 - 例如 IE 现在可以 receive 50 cookies来自一个域(原为 20 个),但仍限制为 4096 bytes for the entire cookie collection 的总数(和以前的)- 其他浏览器将支持每个 cookie 4KB,而不是每个域。

关于ASP.NET 用户配置文件与使用 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457292/

相关文章:

java - 发送重定向响应不起作用时使 cookie 过期

javascript - 语法错误: Unexpected token in Angular

c# - 连接字符串和资源值时出现问题

c# - ASPX 按钮 - 没有任何反应

c# - .NET 上的 HTTP/2(HTTP2 或 SPDY)

php - 检查是否设置了cookie,如果没有则输出脚本

ASP.NET:身份验证过期时如何获取 FormsAuthenticationTicket 对象

facebook - 将应用程序配置文件页面与应用程序关联

iphone - 使用企业分发配置文件控制谁使用 iOS 企业应用程序?

asp.net - 单元测试 ASP.NET 应用程序