asp.net会话商店hastable

时间:2011-10-13 08:41:54

标签: asp.net

我有一个网络表单应用程序。当用户登录时,我想从数据库中检索与该用户相关的设置。

因此,当需要设置时,我不需要在应用程序中进行数据库调用,我正在考虑使用会话对象来存储值。这是一个很好的解决方案吗?

如果:我应该使用例如hastable还是只在会话中存储每个值。

Session["SomeSetting"] = true;
Session["smtp"] = "Somesmtp.ee.no";

Hastable settings New Hastable();
settings.Add("SomeSetting",true);
settings.Add("smtp","Some...");

最多可以设置30个设置..

2 个答案:

答案 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.