Как читать .NET отражатель --- для MemberShipProvider - PullRequest
1 голос
/ 04 апреля 2011

Я внедряю MembershipProvider. Поэтому я хочу обратиться к реализации sqlMemberShipProvider от Microsoft в рефлекторе .NET и найти интересную вещь:

для requireQuestionAndAnswer, он получает значение _RequiresQuestionAndAnswer напрямую.

public override bool RequiresQuestionAndAnswer
{
    get
    {
        return this._RequiresQuestionAndAnswer;
    }
}

Но где _RequiresQuestionAndAnswer получить значение? Я думаю, что должна быть какая-то логика получения значения из web.config, верно? Но я не могу найти. Зачем? Где код?

Ответы [ 4 ]

2 голосов
/ 04 апреля 2011

Начиная с версии 6.6:

  1. Щелкните по полю поддержки _RequiresQuestionAndAnswer в теле получателя.Это приведет вас к объявлению поля и выделит поле на панели браузера.
  2. Щелкните правой кнопкой мыши поле на панели браузера и выберите Анализ в контекстном меню..
  3. Откройте узел Assigned By из дерева анализатора.Обратите внимание, что единственным методом, назначаемым полю, является общедоступный метод Initialize.
  4. Щелкните правой кнопкой мыши метод и выберите Перейти к элементу в контекстном меню.Вы увидите, что этот метод присваивает поле значению вызова SecUtility.GetBooleanValue с соответствующими аргументами.
  5. Для получения дополнительной информации изучите реализацию этого метода, щелкнув вызов метода.
1 голос
/ 04 апреля 2011

Посмотрите на метод Initialize. Вот как инициализируется поле:

this._RequiresUniqueEmail = SecUtility.GetBooleanValue(config, "requiresUniqueEmail", true);

Так что да, это читается из файла конфигурации.

0 голосов
/ 04 апреля 2011

В рефлекторе выберите дизассемблировать сам класс. Затем прокрутите вниз и нажмите «Расходовать методы».

Теперь вы можете найти этого участника и проверить, кто его использует.

0 голосов
/ 04 апреля 2011

Он читается из web.config при инициализации поставщика членства.По умолчанию TRUE

...