public DefaultProviderSwitcher( MembershipProviderAccessor membershipProviderAccessor, RoleProviderAccessor roleProviderAccessor, MembershipProvider provider, RoleProvider roleProvider) { Condition.Requires(membershipProviderAccessor, "membershipProviderAccessor").IsNotNull(); Condition.Requires(roleProviderAccessor, "roleProviderAccessor").IsNotNull(); Condition.Requires(provider, "provider").IsNotNull(); Condition.Requires(roleProvider, "roleProvider").IsNotNull(); this.membershipProviderAccessor = membershipProviderAccessor; this.roleProviderAccessor = roleProviderAccessor; this.originalMembershipInitializedDefault = membershipProviderAccessor.SetInitializedDefaultProviderAndReturnOriginalValue(true); this.originalMembershipInitialized = membershipProviderAccessor.SetInitializedAndReturnOriginalValue(true); this.originalMembershipProvider = membershipProviderAccessor.SetProviderAndReturnOriginalValue(provider); this.originalRoleEnabledInitialized = roleProviderAccessor.SetEnabledAndReturnOriginalValue(true); this.originalRoleProviders = roleProviderAccessor.SetProvidersAndReturnOriginalValue(new RoleProviderCollection()); this.originalRoleInitializedDefault = roleProviderAccessor.SetInitializedDefaultProviderAndReturnOriginalValue(true); this.originalRoleInitialized = roleProviderAccessor.SetInitializedAndReturnOriginalValue(true); this.originalRoleProvider = roleProviderAccessor.SetProviderAndReturnOriginalValue(roleProvider); }