Search code examples
asp.netmembership-provider

MembershipProvider's Initialize method not executed


I am developing an ASP .Net website.
I have declared a custom MembershipProvider in my web.config file as follows :

<membership defaultProvider="MyMembershipProvider">
    <providers>
        <clear/>
        <add name="MyMembershipProvider" type="CompleteSubtitles.Web.Security.MembershipProvider"/>
    </providers>
</membership>

I have created a login ASPX page.
I call the MembershipProvider.ValidateUser method in the validate button click event handler.
I have noticed that the MembershipProvider.Initialize method is not executed automatically by ASP .Net.
Is it normal ?

The MembershipProvider.Initialize method is necessary to load the MembershipProvider's configuration.


Solution

  • I have got the solution after reading LordHits's answer on this thread : How do I call Initialize on a custom MembershipProvider?

    I badly instanciated my MembershipProvider as follows :

        CompleteSubtitles.Web.Security.MembershipProvider l_membershipProvider = 
            new CompleteSubtitles.Web.Security.MembershipProvider();
    

    The correct way is :

        CompleteSubtitles.Web.Security.MembershipProvider l_membershipProvider =
            (CompleteSubtitles.Web.Security.MembershipProvider)Membership.Providers["MyMembershipProvider"];
    

    The MembershipProvider.Initialize method is executed when using the correct way.
    The MembershipProvider configuration is consequently read from the web.config file.