如何阅读.NET reflector---用于MemberShipProvider

如何阅读.NET reflector---用于MemberShipProvider,.net,asp.net-membership,reflector,.net,Asp.net Membership,Reflector,我正在实现MembershipProvider。因此,我想参考Microsoft在.NET reflector中对sqlMemberShipProvider的实现,并找到一件有趣的事情: 对于RequiresQuestionAndAnswer,它直接检索_RequiresQuestionAndAnswer的值 public override bool RequiresQuestionAndAnswer { get { return this._RequiresQu

我正在实现MembershipProvider。因此,我想参考Microsoft在.NET reflector中对sqlMemberShipProvider的实现,并找到一件有趣的事情:

对于RequiresQuestionAndAnswer,它直接检索_RequiresQuestionAndAnswer的值

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

但是RequiresQuestions和Answer在哪里得到值呢?我想从web.config中一定有一些逻辑检索值,对吗?但是我找不到。为什么?代码在哪里?

查看
初始化方法。以下是字段的初始化方式:

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

因此,是的,它是从配置文件中读取的。

当成员资格提供程序初始化时,它是从web.config中读取的。它默认为TRUE

在reflector中,选择它自己的类。然后滚动到底部并单击Expend Methods

现在,您可以搜索此成员并检查其使用者。

从6.6版开始:

  • 单击getter正文中的backing
    \u RequiresQuestionAndAnswer
    字段。这将带您进入字段声明,并在浏览器面板上高亮显示该字段
  • 在浏览器面板上的字段上单击鼠标右键,然后在关联菜单上选择“分析”
  • 从analyzer树中打开由节点分配的。请注意,分配给字段的唯一方法是public
    Initialize
    方法
  • 右键单击方法并在关联菜单上选择“转到成员”。您将看到,此方法使用适当的参数将字段分配给调用
    SecUtility.GetBooleanValue
    的值
  • 有关更多信息,请单击方法调用来研究此方法的实现