C# 多个成员资格提供程序的Membership.CreateUser

C# 多个成员资格提供程序的Membership.CreateUser,c#,asp.net,asp.net-membership,membership-provider,C#,Asp.net,Asp.net Membership,Membership Provider,我在处理一个网站上的多个会员提供商时遇到问题 我有一个注册页面,创建用户并将其添加到广告域。在我有一个会员提供商之前,我在页面上打电话给 Membership.CreateUser(txtUsername.Text, txtPassword.Text) 它根据页面上的用户输入创建用户名 但是,我在web.config中添加了另一个成员资格提供程序,以便登录页面可用于从另一个广告登录。现在,我的注册页面将无法工作,因为(我假设)有两个成员资格提供程序 我怎样才能解决这个问题?调用Members

我在处理一个网站上的多个会员提供商时遇到问题

我有一个注册页面,创建用户并将其添加到广告域。在我有一个会员提供商之前,我在页面上打电话给

Membership.CreateUser(txtUsername.Text, txtPassword.Text) 
它根据页面上的用户输入创建用户名

但是,我在web.config中添加了另一个成员资格提供程序,以便登录页面可用于从另一个广告登录。现在,我的注册页面将无法工作,因为(我假设)有两个成员资格提供程序

我怎样才能解决这个问题?调用Membership.CreateUser时,如何指定要使用的提供程序

谢谢

编辑:

正确的方法如下所述:

MembershipCreateStatus newStatus = new MembershipCreateStatus();    
Membership.Providers["ProviderName"].CreateUser(txtUserName.Text, txtPassword.Text, null, null, null, true,null, out newStatus);
谢谢大家!

Membership.Providers["providername"].CreateUser(....);
请注意,在这种情况下只有一个CreateUser方法,但您可以传递不需要的其他参数的null

编辑:

这是使用显式提供程序调用该方法的唯一方法。我还没有尝试过在广告中创建用户,所以不确定如何解决这个错误,但这里有另一种方法。 将CreateUser的提供程序设置为默认提供程序,这样您就可以返回到旧的CreateUser调用。但是现在您调整您的登录呼叫以使用另一个提供商,例如

Membership.Providers["providername"].ValidateUser()

上有一个属性,其中包含一个成员资格提供程序。您应该能够从中分辨出要使用的提供商。

谢谢!但是,当我将空对象传递给“object providerUserKey”对象时,函数调用会出错。“返回的错误是Active Directory成员资格提供程序不支持设置providerUserKey属性。”是否有正确的方法调用该方法?啊,问题是我传递的是我创建的null对象,而不是null关键字。再次感谢!