保留每个用户的温度数据
本文关键字:温度 数据 用户 保留 | 更新日期: 2023-09-27 18:28:10
我想知道,如果我不在ASP.Net和ASP.Net MVC应用程序中使用Session
,那么为每个用户保留数据(如简单ID)的最佳方式是什么?
您可以使用cookie,或者如果它只是当前经过身份验证的用户的ID,则Forms Authentication
cookie似乎正是为此目的而设计的。表单身份验证cookie可以进行扩展,并添加您在每次请求时可能需要的其他一些自定义用户信息(例如用户的名字和姓氏)。这将避免您在每次请求时访问数据库。您可以使用表单身份验证cookie的UserData部分。
您可以将其存储在用户配置文件中,这可以通过从ProfileBase继承来扩展,并且您可以实现自己的属性。
例如:
public class ProfileManager : ProfileBase
{
public ProfileManager() : base()
{
}
[SettingsAllowAnonymous(false)]
[ProfileProvider("AspNetSqlProfileProvider")]
public string DisplayName {
get
{
return base["DisplayName"].ToString();
}
set
{
base["DisplayName"] = value;
this.Save();
}
}
}
在你的配置中,你需要告诉你的应用程序你的配置文件是什么类型的:
<profile inherits="ProfileNamespace.ProfileManager" defaultProvider="AspNetSqlProfileProvider" enabled="true">
<providers>
<clear />
<add name="AspNetSqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>