最近我收到了一个面试问题。
如何在asp.net应用程序中维护搜索日常搜索历史记录?
以下哪一项是正确的选择?
1)Cookies 2) Sql Server 3) Session State
我想正确的选择可能是Cookie。请与您分享您的想法。
答案 0 :(得分:1)
SQL Server是最可靠的维护方式。通常不会依赖Cookie,会话过期并丢失所有数据。
所以问题归结为:如果你需要保留长期历史记录,请使用SQL Server。如果您想要显示特定用户搜索的内容,请转到会话(或Cookie,但它们的大小有限)。
答案 1 :(得分:0)
所有3个选项在不同的场景中都可以接受,原因有很多 - 这是一个更柔和的问题,旨在让你思考和讨论:
(1)Cookie - 对于每个用户/浏览器会话提供客户端解决方案(前提是用户接受/不删除它们)并且您不关心这是否会发生。但是,这确实将用户绑定到浏览器。对于匿名的每用户浏览非常有用,但如果您打算保留或查询历史记录则无效。
(2)SQL - 保证历史记录保存在服务器端,但是您需要一种机制,例如客户端登录,以将历史记录与用户相关联,并且所提供的3的唯一解决方案将允许您执行任何类型的历史记录多用户分析/分析。
(3)会话状态 - 不可取 - 但可以说与cookie相似但没有需要cookie接受的警告 - 但是你引入了超时问题并再次将用户绑定到浏览器并限制信息的有效期。