在不同的Db中创建MembershipUser然后在web.config中

时间:2010-03-04 12:10:06

标签: c#

MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text);

在web.config中我有连接字符串,但我想在不同的连接字符串上使用MemBershipUser。这是可能的,如果是的话怎么样?

问候

2 个答案:

答案 0 :(得分:1)

只需添加一个额外的连接字符串,并在您的成员资格配置中使用它。看看这个例子:http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspx 如您所见,membership部分按名称引用其连接字符串。

答案 1 :(得分:0)

如果其他人遇到类似问题,则找到解决方案:

一个更简单但有点令人费解的解决方案就是修改连接 在请求的生命周期中,提供者中的字符串足够早:

      private void SetProviderConnectionString(string connectionString)
    {
        // Set private property of Membership, Role and Profile providers.
        var connectionStringField = Membership.Provider.GetType().GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
        if (connectionStringField != null)
            connectionStringField.SetValue(Membership.Provider, connectionString);

        var roleField = Roles.Provider.GetType().GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
        if (roleField != null)
            roleField.SetValue(Roles.Provider, connectionString);

        var profileField = ProfileManager.Provider.GetType().GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
        if (profileField != null)
            profileField.SetValue(ProfileManager.Provider, connectionString);
    }