如何在代码中更改ASP.NET成员资格提供程序?

时间:2014-11-26 22:43:59

标签: asp.net

如何在代码中更改ASP.NET成员资格提供程序?我需要覆盖它进行单元测试。

1 个答案:

答案 0 :(得分:1)

我认为你不能以一种好的方式做到这一点,因为Membership.Provider没有设置,但你总是可以通过反思改变它。 Membership类具有存储当前成员资格提供者的字段:

public static class Membership
{
   private static MembershipProvider s_Provider;

因此,如果您通过反射将其设置为自定义值,则ASP.Net控件将使用您的新提供程序。

最初此属性只初始化一次,您无法正常更改。

其他方式可能是单元测试的配置不同,会在会员部分指向不同的会员提供商,但不知道它是否适用于会员提供商。