Asp.net 什么';当用户登录时,让数据可用的最佳方式是什么?

Asp.net 什么';当用户登录时,让数据可用的最佳方式是什么?,asp.net,asp.net-mvc,session,tempdata,Asp.net,Asp.net Mvc,Session,Tempdata,在我的应用程序中,我需要在用户登录期间存储一些变量,这些变量用于提供用户如何查看其数据的定制体验(预定义过滤器、语言等)。我需要的数据不超过1Kb 我读过许多博客文章,这些文章肯定鼓励不要将这些数据存储在会话对象中。在许多这些博客文章中,作者建议改用TempData 据我所知,TempData是短期临时数据的好选择,不适合在用户保持记录的所有时间段内缓存数据 我错了吗?什么是适合我的场景的好选择 感谢您的帮助:)两个选项: 饼干 数据库 如果此信息只需要在用户登录时存储,并且您不想在用户返回时保

在我的应用程序中,我需要在用户登录期间存储一些变量,这些变量用于提供用户如何查看其数据的定制体验(预定义过滤器、语言等)。我需要的数据不超过1Kb

我读过许多博客文章,这些文章肯定鼓励不要将这些数据存储在会话对象中。在许多这些博客文章中,作者建议改用TempData

据我所知,TempData是短期临时数据的好选择,不适合在用户保持记录的所有时间段内缓存数据

我错了吗?什么是适合我的场景的好选择

感谢您的帮助:)

两个选项:

  • 饼干
  • 数据库
  • 如果此信息只需要在用户登录时存储,并且您不想在用户返回时保留此信息,那么Cookie就可以正常工作。另一方面,如果您希望持久化用户的自定义设置,则需要将它们存储在数据库中或使用持久cookie

    会话也是一个选项,但如果您的站点在web场中运行,请小心—在这种情况下,您将需要进程外会话持久性

    据我所知,TempData是短期临时数据的好选择,不适合在用户保持记录的所有时间段内缓存数据

    你完全正确
    TempData
    仅应在以下场景中使用:用户调用控制器操作,此控制器操作将某些内容存储到TempData中,并立即重定向到另一个控制器操作(它从不呈现视图),该操作获取存储的数据并呈现视图(在后期场景后重定向)