全局asax文件

fre*_*hie 3 c# asp.net

什么是全局asax文件?我想要声明一个用户特定的对象字典,它将在整个应用程序页面中使用.我在哪里声明这本字典?

谢谢.

Mor*_*gil 5

Global.asax包含一个表示整个应用程序的类.如果您的字典是特定于用户的(即不是所有用户都通用),则需要将其存储在特定于用户的位置.当您需要保留特定于用户的内容时,首先想到的是使用会话存储.(参见MSDN.)

每条评论添加:

public static class SessionObjects
{
    public static Dictionary<DateTime, List<int>> MySessionStoredLists
    {
            get
            {
                    var session = HttpContext.Current.Session;
                    if (session == null) throw new InvalidOperationException();
                    var fromSession = (Dictionary<DateTime, List<int>>)session["MySessionStoredLists"];
                    if (fromSession == null)
                    {
                            fromSession = new Dictionary<DateTime, List<int>>();
                            MySessionStoredLists = fromSession;
                    }
                    return fromSession;
            }
            private set
            {
                session["MySessionStoredLists"] = value;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

这只是一个例子,但你的想法对我来说似乎有点怀疑 - 你想保留每用户每日的基础吗?数据库中的全功能持久存储不是更好吗?