Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Наследование MembershipProvider


Автор: Bogdan1024 3.8.2007, 13:04
Пишу класс-насделок от MembershipProvider. Когда вызывается MembershipProvider.Initialize ? Его самому нужно вызывать? Файл app.config сделал, всё что надо туда повписывал, пытаюсь протестировать. В дебагире обнаруживаю что Initialize не вызывается вообще. Пытаюсь вызвать сам. Вопрос: где взять параметр config из public override void Initialize(string name, NameValueCollection config) ?

Автор: tol05 3.8.2007, 16:48
Цитата(Bogdan1024 @  3.8.2007,  13:04 Найти цитируемый пост)
 Когда вызывается MembershipProvider.Initialize ?

http://max404.net/default.aspx?mode=Article&n=54

Цитата(Bogdan1024 @  3.8.2007,  13:04 Найти цитируемый пост)
Его самому нужно вызывать?

нет. Это метод базового класса ProviderBase. Ты его переопределяешь, а вызывает его asp.net сама, полиморфно.

Цитата(Bogdan1024 @  3.8.2007,  13:04 Найти цитируемый пост)
 где взять параметр config из public override void Initialize(string name, NameValueCollection config) ?

секция <providers> конфига. Находится провайдер с именем name в этой секции. Коллекция "ключ=значение" всех атрибутов этого провайдера - это и есть config

Автор: Pankon 3.8.2007, 17:24
В тему:

web.config
Код

    <membership>
      <providers>
        <add name="NameMyPr" type="MyNamespace.MyMembershipClass" applicationName="/"/>
      </providers>
    </membership>


на АСПХ странице
Код

<asp:Login ....
MembershipProvider="NameMyPr">
...
</asp:Login>

Автор: Bogdan1024 6.8.2007, 11:03
Если вызывать класс через System.Web.Security.Membership, а не создавать новый объект, то всё нормально. Наверно, он был так настроен или я что-то случайно исправил. Вобщем, меня так устраивает  smile 
Спасибо большое за ответы, они указали мне путь к решению проблемы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)