C# 全局asax文件

C# 全局asax文件,c#,asp.net,C#,Asp.net,全局asax文件的用途是什么?我希望声明一个特定于用户的对象字典,它将在整个应用程序页面中使用。这本词典在哪里申报 谢谢。Global.asax文件用于注册一些应用程序全局事件,如:应用程序启动、请求启动、未处理的异常传播。。。特定于用户的内容应存储到。Global.asax包含一个表示整个应用程序的类。如果您的词典是特定于用户的(即并非所有用户都通用),则需要将其存储在特定于用户的位置。当您需要保留特定于用户的内容时,首先想到的是使用会话存储。(见附件。) 每个评论添加了: public st

全局asax文件的用途是什么?我希望声明一个特定于用户的对象字典,它将在整个应用程序页面中使用。这本词典在哪里申报


谢谢。

Global.asax
文件用于注册一些应用程序全局事件,如:应用程序启动、请求启动、未处理的异常传播。。。特定于用户的内容应存储到。

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

每个评论添加了

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;
            }
    }
}
公共静态类SessionObjects
{
公共静态词典MySessionStoredList
{
得到
{
var session=HttpContext.Current.session;
如果(session==null)抛出新的InvalidOperationException();
var fromSession=(Dictionary)会话[“mySessionStoredList”];
if(fromSession==null)
{
fromSession=newdictionary();
MySessionStoredLists=fromSession;
}
会议结束后返回;
}
专用设备
{
会话[“MySessionStoredList”]=值;
}
}
}

这只是一个例子,但我觉得你的想法有点可疑——你想在每个用户每个日期的基础上保留一些东西吗?数据库中的全功能持久存储不是更好吗?

global.asax文件是一个应用程序类,您可以在其中处理各种应用程序级事件


如果您愿意在会话中存储此词典(特定于每个用户),可以在

中对其进行初始化。Global.asax文件用于定义应用程序级事件处理。有各种事件,如应用程序启动、会话启动。。。以下是指向MSDN文档的链接:


对于您的场景,请使用会话开始事件来持久化会话的信息。

我创建了一个名为AppObjects的文件。它有两个存储用户对象和报告对象的名称空间。我想添加第三个名为SessionObjects的名称空间,在这个名称空间中,声明一个存储列表并使用日期作为键的字典。我将在何处以及如何进行此定义?我创建了一个名为AppObjects的文件。它有两个存储用户对象和报告对象的名称空间。我想添加第三个名为SessionObjects的名称空间,在这个名称空间中,声明一个存储列表并使用日期作为键的字典。我将在哪里以及如何定义?好的,我得到了全局asax的概念。我创建了一个名为AppObjects的文件。它有两个存储用户对象和报告对象的名称空间。我想添加第三个名为SessionObjects的名称空间,在这个名称空间中,声明一个存储列表并使用日期作为键的字典。我将在何处以及如何定义?您面临什么问题。。如果您得到了列表,并且该列表可能在某个类中,那么您可以直接将其添加到会话[“MyList”]=您的类包含列表。要使用它,只需将其强制转换回类并从列表中检索项。。。这只是一个骗局。。。用它来满足你的需求。。。。