private void PopulateLanguageList() { BHLProvider provider = new BHLProvider(); CustomDataAccess.CustomGenericList<Language> languages = null; // Cache the results of the languages query for 24 hours String cacheKey = "LanguagesWithPubItems"; if (Cache[cacheKey] != null) { // Use cached version languages = (CustomDataAccess.CustomGenericList<Language>)Cache[cacheKey]; } else { // Refresh cache languages = provider.LanguageSelectWithPublishedItems(); Cache.Add(cacheKey, languages, null, DateTime.Now.AddMinutes( Convert.ToDouble(ConfigurationManager.AppSettings["LanguageListQueryCacheTime"])), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Normal, null); } ddlLanguage.DataSource = languages; ddlLanguage.DataBind(); ddlLanguage.Items.Insert(0, new ListItem("(Any Language)", "")); }