我正在使用继承SqlMembershipProvider
的代码,名为MyMembershipClass
,以便我可以使用这些函数。
我创建了我继承的类,并在Web.config
文件中指定了它,如下所示:
<membership defaultProvider="MyMembershipClass">
<providers>
<clear/>
<add name="MyMembershipClass" type="MyMembershipClass" applicationName="/"/>
</providers>
</membership>
既然我已经这样做了,为了使用Membership函数,我可以在我的代码中引用它:
MyMembershipClass
或仅Membership
?
修改
如果您只是Membership
引用它,这是defaultProvider="MyMembershipClass"
吗?
答案 0 :(得分:1)
就像Membership
一样。它将自动映射到您定义的成员资格类。这样可以在以后更改提供程序,而无需更改所有代码。
所以你不必写:
MyMembershipClass.GetUser
但是
Membership.GetUser
顺便说一句,如果您定义自定义RoleProvider
,情况也是如此,例如:
Roles.AddUserToRole(userName, roleName);
修改:
如果您仅在会员资格中提及它,是否应该这样做 defaultProvider = “MyMembershipClass”?
是的,那必须是继承自MembershipProvider
的类的名称(或继承自SqlMembershipProvider
的其他类)。
根据你的第二条评论,你可以定义你想要的东西,即使它不存在,如果我在web.config中命名提供者“Bob”,我会得到一个例外:
异常信息: 异常类型:ConfigurationErrorsException 异常消息:找不到默认成员资格提供程序。
答案 1 :(得分:0)
只是会员资格。成员资格上的静态方法将调用提供者的方法。