Sapete consigliarmi un modo per gestire le lingue da usare nel sito web??

fino adesso ho usato questo codice:
codice:
            ///Controlla se l'oggetto sessione è pronto
            if (HttpContext.Current.Session != null)
            {
                CultureInfo ci = (CultureInfo)this.Session["Culture"];
                ///Controlla se ci sono valori di sessione ...
                ///Se la sessione non contiene valori viene impostato il valore
                ///(Solamente nel primo utilizzo)
                if (ci == null)
                {
                    ///Imposto la lingua di default a Italiano
                    string langName = "en";

                    //Provo a recuperare la lingua dell'utente
                    if (HttpContext.Current.Request.UserLanguages != null && HttpContext.Current.Request.UserLanguages.Length != 0)
                    {
                        //Lingua dell'utente trovata con successo
                        langName = HttpContext.Current.Request.UserLanguages[0].Substring(0, 2);
                    }

                    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);
            }

Ora però vorrei recuperare la lingua di default da utilizzare dal database ...

Il problema è che da Application_AcquireRequestState non mi fa accedere al database perchè mi dice che non è inizializzato ...

come posso risolvere???