/// <summary>
        /// Initializes a new instance of the IngresMembershipProviderHandler class.
        /// </summary>
        /// <param name="conn">The Ingres connection to use.</param>
        /// <param name="tran">The Ingres transaction to use.</param>
        /// <param name="config">The configuration settings to use.</param>
        /// <param name="provider">The Ingres Membership Provider facade to use.</param>
        internal IngresMembershipProviderHandler(IngresConnection conn, IngresTransaction tran, IngresMembershipProviderConfiguration config, IngresMembershipProvider provider)
        {
            if (conn == null || tran == null)
            {
                throw new Exception();
            }

            this.tran = tran;
            this.conn = conn;

            this.config = config;
            this.provider = provider;
        }
        /// <summary>
        /// Takes, as input, the name of the provider and a NameValueCollection of configuration 
        /// settings. Used to set property values for the provider instance including 
        /// implementation-specific values and options specified in the configuration file 
        /// (Machine.config or Web.config) supplied in the configuration.
        /// </summary>
        /// <remarks>
        /// Overrides a method from the System.Configuration.Provider.ProviderBase class to provide 
        /// an Ingres specific implementation.
        /// </remarks>
        /// <param name="name">The name of the provider.</param>
        /// <param name="coll">A NameValueCollection of configuration settings.</param>
        public override void Initialize(string name, NameValueCollection coll)
        {
            // Initialise the configuration.
            this.config = new IngresMembershipProviderConfiguration(name, coll);

            // Initialize the abstract base class.
            base.Initialize(name, coll);
        }