private static void Initialize() { providerCollection = new PayPalPDTHandlerProviderCollection(); try { PayPalPDTHandlerProviderConfig config = PayPalPDTHandlerProviderConfig.GetConfig(); if (config != null) { if ( (config.Providers == null) || (config.Providers.Count < 1) ) { throw new ProviderException("No PayPalPDTHandlerProviderCollection found."); } ProvidersHelper.InstantiateProviders( config.Providers, providerCollection, typeof(PayPalPDTHandlerProvider)); } else { // config was null, not a good thing log.Error("PayPalPDTHandlerProviderConfig could not be loaded so empty provider collection was returned"); } } catch (NullReferenceException ex) { log.Error(ex); } catch (TypeInitializationException ex) { log.Error(ex); } catch (ProviderException ex) { log.Error(ex); } providerCollection.SetReadOnly(); }
public static PayPalPDTHandlerProviderConfig GetConfig() { try { if ( (HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"] != null) && (HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"] is PayPalPDTHandlerProviderConfig) ) { return((PayPalPDTHandlerProviderConfig)HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"]); } PayPalPDTHandlerProviderConfig config = new PayPalPDTHandlerProviderConfig(); String configFolderName = "~/Setup/ProviderConfig/paypalpdthandlers/"; string pathToConfigFolder = HttpContext.Current.Server.MapPath(configFolderName); if (!Directory.Exists(pathToConfigFolder)) { return(config); } DirectoryInfo directoryInfo = new DirectoryInfo(pathToConfigFolder); FileInfo[] configFiles = directoryInfo.GetFiles("*.config"); foreach (FileInfo fileInfo in configFiles) { XmlDocument configXml = new XmlDocument(); configXml.Load(fileInfo.FullName); config.LoadValuesFromConfigurationXml(configXml.DocumentElement); } AggregateCacheDependency aggregateCacheDependency = new AggregateCacheDependency(); string pathToWebConfig = HttpContext.Current.Server.MapPath("~/Web.config"); aggregateCacheDependency.Add(new CacheDependency(pathToWebConfig)); System.Web.HttpRuntime.Cache.Insert( "PayPalPDTHandlerProviderConfig", config, aggregateCacheDependency, DateTime.Now.AddYears(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null); return((PayPalPDTHandlerProviderConfig)HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"]); } catch (HttpException ex) { log.Error(ex); } catch (System.Xml.XmlException ex) { log.Error(ex); } catch (ArgumentException ex) { log.Error(ex); } catch (NullReferenceException ex) { log.Error(ex); } return(null); }
public static PayPalPDTHandlerProviderConfig GetConfig() { try { if ( (HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"] != null) && (HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"] is PayPalPDTHandlerProviderConfig) ) { return (PayPalPDTHandlerProviderConfig)HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"]; } PayPalPDTHandlerProviderConfig config = new PayPalPDTHandlerProviderConfig(); String configFolderName = "~/Setup/ProviderConfig/paypalpdthandlers/"; string pathToConfigFolder = HttpContext.Current.Server.MapPath(configFolderName); if (!Directory.Exists(pathToConfigFolder)) return config; DirectoryInfo directoryInfo = new DirectoryInfo(pathToConfigFolder); FileInfo[] configFiles = directoryInfo.GetFiles("*.config"); foreach (FileInfo fileInfo in configFiles) { XmlDocument configXml = new XmlDocument(); configXml.Load(fileInfo.FullName); config.LoadValuesFromConfigurationXml(configXml.DocumentElement); } AggregateCacheDependency aggregateCacheDependency = new AggregateCacheDependency(); string pathToWebConfig = HttpContext.Current.Server.MapPath("~/Web.config"); aggregateCacheDependency.Add(new CacheDependency(pathToWebConfig)); System.Web.HttpRuntime.Cache.Insert( "PayPalPDTHandlerProviderConfig", config, aggregateCacheDependency, DateTime.Now.AddYears(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null); return (PayPalPDTHandlerProviderConfig)HttpRuntime.Cache["PayPalPDTHandlerProviderConfig"]; } catch (HttpException ex) { log.Error(ex); } catch (System.Xml.XmlException ex) { log.Error(ex); } catch (ArgumentException ex) { log.Error(ex); } catch (NullReferenceException ex) { log.Error(ex); } return null; }