如何在代码中更改ASP.NET成员资格提供程序?我需要覆盖它进行单元测试。
答案 0 :(得分:1)
我认为你不能以一种好的方式做到这一点,因为Membership.Provider
没有设置,但你总是可以通过反思改变它。 Membership
类具有存储当前成员资格提供者的字段:
public static class Membership
{
private static MembershipProvider s_Provider;
因此,如果您通过反射将其设置为自定义值,则ASP.Net控件将使用您的新提供程序。
最初此属性只初始化一次,您无法正常更改。
其他方式可能是单元测试的配置不同,会在会员部分指向不同的会员提供商,但不知道它是否适用于会员提供商。