Global.asax文件中仅触发一次的事件

时间:2012-10-03 09:35:53

标签: c# asp.net-mvc events

在MVC Global.asax文件中,我们可以看到此事件仅触发一次的Application_Start。但是这个会议还没有活跃/可用。所以我的问题是,Global.asax文件中是否有任何事件只触发一次且会话也可用? 我问这个的原因是因为,我使用ExpandoObject
例如:

    public static dynamic Data
    {
        get
        {
            #region FAILSAFE
            if (HttpContext.Current.Session[datakey] == null)
            {
                HttpContext.Current.Session[datakey] = new ExpandoObject();
            }
            #endregion

            return (ExpandoObject)HttpContext.Current.Session[datakey];
        }
    }  

我想一次初始化我的所有ExpandoObject,值为null:

MyExpando.Data.UserInformation = null;  
MyExpando.Data.FolderInformation = null;

这就是为什么我要找一个只发射一次的事件。

2 个答案:

答案 0 :(得分:3)

protected void Session_Start(object sender, EventArgs e)
{
    // Will fire once when a new user session is created.

    // Contrary to Application_Start this event could run multiple
    // times during the AppDomain lifetime but that will ensure you 
    // that all users have the required data stored into the session.
}

答案 1 :(得分:0)

您正在寻找的会话开始活动..