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);
}