PLEASE do not appologize! I greatly appreciate your continued perserverence (on my problem).
Thanks to your help, I got it (I think). For some reason, your above code kept returning "Nothing" for "ConnectionStringSettings" as I stepped through the code. I kept poking around in the ConfigurationManager, and got this code to work:
Public Overrides Sub Initialize(ByVal name As String, ByVal config As System.Collections.Specialized.NameValueCollection)
'===retrives the attribute values set in
'web.config and assign to local variables===
If config("requiresQuestionAndAnswer").ToUpper = "TRUE" Then _
_requiresQuestionAndAnswer = True
connStr = ConfigurationManager.ConnectionStrings.Item(1).ConnectionString
If connStr Is Nothing OrElse connStr = "" Then
Throw New Provider.ProviderException("Connection string cannot be blank.")
End If
MyBase.Initialize(name, config)
End Sub
I don't like having that hard-coded "1" in there, but that's where the setting resides in my site. Just for reference, this is what my web.config section looks like:
<membership defaultProvider="MyMembershipProvider">
<providers>
<add name="MyMembershipProvider"
type="MyMembershipProvider"
requiresQuestionAndAnswer="True"
enablePasswordRetrieval="True"
enablePasswordReset="True"
connectionStringName="WebReportsConnectionString"
/>
</providers>
</membership>
Again, THANK YOU very much for your continued help! I will mark this as "answered", but please let me know if you see anywhere I can further optimize the above (like removing the "1").