Cares.Web.MvcApplication.Application_AcquireRequestState C# (CSharp) Method

Application_AcquireRequestState() protected method

Event that fires on each request
protected Application_AcquireRequestState ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        protected void Application_AcquireRequestState(object sender, EventArgs e)
        {
            //It's important to check whether session object is ready
            if (HttpContext.Current.Session != null)
            {
                CultureInfo ci = (CultureInfo)this.Session["Culture"];
                
                //Checking first if there is no value in session
                //and set default language
                //this can happen for first user's request
                if (ci == null)
                {
                    string langName = CultureHelper.GetDefaultCulture();

                    //Try to get values from Accept lang HTTP header
                    if (HttpContext.Current.Request.UserLanguages != null &&
                        HttpContext.Current.Request.UserLanguages.Length != 0)
                    {
                        //Gets accepted list 
                        langName = HttpContext.Current.Request.UserLanguages[0].Substring(0, 2);
                        langName = CultureHelper.GetImplementedCulture(langName);
                    }

                    ci = new CultureInfo(langName);
                    this.Session["Culture"] = ci;
                }

                //Finally setting culture for each request
                Thread.CurrentThread.CurrentUICulture = ci;
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name);
            }
            
        }