Asp.net 持久化用户cookie

Asp.net 持久化用户cookie,asp.net,session,cookies,asp.net-core-1.0,Asp.net,Session,Cookies,Asp.net Core 1.0,我想创建并保存cookie,以存储一些用户信息——即他们的一些偏好、他们的头像等。我希望这些cookie保留在用户的计算机上,直到被用户或我的应用程序删除 我在ASP.NET MVC应用程序中使用Facebook/Google身份验证,所以我已经使用了cookie,但当用户结束会话时,cookie将过期 做我想做的事情的正确方法是什么?我可以想出两种方法: 不要使cookie过期,但更改其中的值以指示用户的会话已过期 创建另一个具有不同名称的cookie,用于存储用户信息/首选项 我想看看其他人

我想创建并保存cookie,以存储一些用户信息——即他们的一些偏好、他们的头像等。我希望这些cookie保留在用户的计算机上,直到被用户或我的应用程序删除

我在ASP.NET MVC应用程序中使用Facebook/Google身份验证,所以我已经使用了cookie,但当用户结束会话时,cookie将过期

做我想做的事情的正确方法是什么?我可以想出两种方法:

  • 不要使cookie过期,但更改其中的值以指示用户的会话已过期
  • 创建另一个具有不同名称的cookie,用于存储用户信息/首选项

  • 我想看看其他人是如何处理的。

    您可以创建非常长的过期cookie,但这不是在用户浏览器上存储持久用户信息的最佳方式

    例如,cookie被限制为4096字节,如果您想存储图像(用户化身),则不需要这么多。而且,cookies总是在你的连接中上下移动,不管你是否想访问它们->浪费bandwith

    如果您正在开发强大的客户端应用程序,我可以谦虚地建议您使用本地存储吗?这种支持更加普遍(),它将一直存在直到被删除,并且不会因为cookie的所有问题而受到影响

    我建议您检查这个SO answer(),以了解有关cookie与localstorage的更多详细信息

    如果您需要一些本地存储使用情况示例,可以查看此链接()。 例如:

       function setInfo(key, data) {
        if (!window.localStorage) {
            window.localStorage.setItem(key, data);
        } else {
            console.log('Local Storage: not supported');
        }
    }
    

    谢谢你的回复。顺便说一句,我不是说我会保存真实的化身图像。只是头像文件的URL。