我有一个网络表单应用程序。当用户登录时,我想从数据库中检索与该用户相关的设置。
因此,当需要设置时,我不需要在应用程序中进行数据库调用,我正在考虑使用会话对象来存储值。这是一个很好的解决方案吗?
如果:我应该使用例如hastable还是只在会话中存储每个值。
Session["SomeSetting"] = true;
Session["smtp"] = "Somesmtp.ee.no";
或
Hastable settings New Hastable();
settings.Add("SomeSetting",true);
settings.Add("smtp","Some...");
最多可以设置30个设置..
答案 0 :(得分:3)
我会创建一个保存数据的类,并将该类放在Session对象中。 像这样:
public class MyInfo{
private String name {get;set};
private String smtp {get;set};
public MyInfo(){}
public void fill(){}//fill from DB
}
用户进入您的页面后,您为该用户设置了一个新的MyInfo对象,并将其放入如下的会话中:
MyInfo myinfo = new MyInfo();
myinfo.fill();
Session["user_info"] = myinfo;
答案 1 :(得分:0)
如果您想保存特定于用户的设置或状态,那么您可以使用Session
但这些设置适用于应用级别,我建议您在<appSettings>
中使用web.config.