会话和个人资料之间的基本区别是什么。无论我们在会话中存储什么,数据都可以从asp.net中的任何页面访问,无论我们存储在配置文件中,数据也可以从配置文件中的asp.net中的任何页面访问。我经常在会话中存储用户特定的数据。所以我只想知道在什么样的情况下我们将数据存储在配置文件而不是会话中。我想知道的其他事情,其表现是良好的会话或个人资料。请讨论。感谢
答案 0 :(得分:9)
配置文件强>:
1-配置文件对象的范围限定为特定用户: Web应用程序的每个用户都自动拥有自己的个人资料。
2- Profile对象是持久的: 修改配置文件对象的stat os时,将在访问网站之间保存修改
3- Profile对象使用提供者模型来存储信息: 默认情况下,用户配置文件的内容会自动保存到Microsoft SQL Server Express数据库 位于Web应用程序的App_Data中。
4-配置文件对象是强类型的: 使用强类型属性有几个优点。例如,您何时获得完整的Microsoft IntelliSense 在VS.NET 2005或Visual Web Developer中使用Profile对象
<强>会话强>:
1-会话对象的范围限定为特定用户: Web应用程序的每个用户都自动拥有自己的会话状态。
2-会话对象是非持久性的: 向Session对象添加项目时,在离开Web站点后项目将消失。
3- Session对象使用三种不同的存储方式: 3.1:正在处理 - 默认 3.2:状态服务器(进程外) 3.3:SQL Server
4-会话对象没有强类型:
答案 1 :(得分:1)
会话数据将持续会话的生命周期。配置文件数据保存在asp.net数据库中,因此它可以依赖于经过身份验证的用户的凭据在多个会话中保留。
答案 2 :(得分:0)
除了Hawxby和Davide Piras的答案,这些答案在技术上是正确的,我也觉得Profile和Session之间存在概念上的差异。我觉得Profile的属性是会话用户的属性,其中Session应该包含会话的属性。例如,在我的应用程序中,我使用Profile属性,因为我经常调用Session.Clear()来解决安全性和效率问题,而不用担心我会丢失用户的属性。