2013-01-23 1 views
1

Я разрабатываю веб-сайт ASP .Net.
Я объявил пользовательский MembershipProvider в моем файле web.config следующим образом:Метод инициализации MemberhipProvider не выполнен

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

Я создал логин ASPX страницу.
Я вызываю метод MembershipProvider.ValidateUser в обработчике события click click для проверки.
Я заметил, что метод MemberhipProvider.Initialize не выполняется автоматически ASP .Net.
Нормально ли это?

Метод MembershipProvider.Initialize необходим для загрузки конфигурации MembershipProvider.

ответ

2

Я получил решение после прочтения ответа LordHits на эту тему: How do I call Initialize on a custom MembershipProvider?

я плохо инстанциирован мой MembershipProvider следующим образом:

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

Правильный путь:

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

Метод MembershipProvider.Initialize выполняется при правильном использовании.
Конфигурация MembershipProvider, следовательно, считывается из файла web.config.