public static CaptchaConfiguration GetConfig() { CaptchaConfiguration captchaConfig = null; if ( (HttpRuntime.Cache["CCaptchaConfig"] != null) && (HttpRuntime.Cache["CCaptchaConfig"] is CaptchaConfiguration) ) { return((CaptchaConfiguration)HttpRuntime.Cache["CCaptchaConfig"]); } else { String configFileName = "CCaptcha.config"; if (ConfigurationManager.AppSettings["CCaptchaConfigFileName"] != null) { configFileName = ConfigurationManager.AppSettings["CCaptchaConfigFileName"]; } if (!configFileName.StartsWith("~/")) { configFileName = "~/" + configFileName; } String pathToConfigFile = HttpContext.Current.Server.MapPath(configFileName); XmlDocument configXml = new XmlDocument(); configXml.Load(pathToConfigFile); captchaConfig = new CaptchaConfiguration(configXml.DocumentElement); AggregateCacheDependency aggregateCacheDependency = new AggregateCacheDependency(); aggregateCacheDependency.Add(new CacheDependency(pathToConfigFile)); System.Web.HttpRuntime.Cache.Insert( "CCaptchaConfig", captchaConfig, aggregateCacheDependency, DateTime.Now.AddYears(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null); return((CaptchaConfiguration)HttpRuntime.Cache["CCaptchaConfig"]); } //return captchaConfig; }
private static void Initialize() { //try //{ CaptchaConfiguration config = CaptchaConfiguration.GetConfig(); if ( (config.DefaultProvider == null) || (config.Providers == null) || (config.Providers.Count < 1) ) { throw new ProviderException("You must specify a valid default provider."); } providerCollection = new CaptchaProviderCollection(); ProvidersHelper.InstantiateProviders( config.Providers, providerCollection, typeof(CaptchaProvider)); providerCollection.SetReadOnly(); defaultProvider = providerCollection[config.DefaultProvider]; //} //catch (Exception ex) //{ // initializationException = ex; // isInitialized = true; // throw ex; //} //isInitialized = true; }