/// <summary> /// Creates an ITicketProvider implementation. The instance is a singleton. /// </summary> /// <returns>A reference to the ITicketProvider implementation.</returns> public static ITicketProvider GetTicketProvider() { string instanceName = ""; string className = ""; string assemblyName = ""; ITicketProvider ticketProvider = null; try { lock (ticketProviderLock) { if (ticketProviderInstance == null) { SecuritySection section = SecuritySection.GetSection(); ClassSpecificationElement spec = section.TicketProvider; instanceName = spec.Name; className = spec.Class; assemblyName = spec.Assembly; ticketProviderInstance = (ITicketProvider)Factory.CreateComponent(instanceName, className, assemblyName); } ticketProvider = ticketProviderInstance; } } catch (Exception exception) { throw new Exception("Failed to create ITicketProvider implementation.", exception); } return(ticketProvider); }
/// <summary> /// Creates ICredentials for an affiliate application. /// </summary> /// <param name="affiliateName">The name of the affiliate application for the credentials.</param> /// <returns>A reference to the ICredentials implementation.</returns> public static ICredentials GetCredentials(string affiliateName) { string instanceName = ""; string className = ""; string assemblyName = ""; ICredentials credentials = null; try { lock (credentialsLock) { // Construct ist if needed. if (credentialsList == null) { credentialsList = new Dictionary <string, ICredentials>(); } // Check list for the requested affiliate. if (credentialsList.ContainsKey(affiliateName)) { credentials = credentialsList[affiliateName]; } else { SecuritySection section = SecuritySection.GetSection(); ClassSpecificationElement spec = section.CredentialsProvider; instanceName = affiliateName; className = spec.Class; assemblyName = spec.Assembly; credentials = (ICredentials)Factory.CreateComponent(instanceName, className, assemblyName); credentialsList[affiliateName] = credentials; } } } catch (Exception exception) { throw new Exception("Failed to create ICredentials implementation.", exception); } return(credentials); }