在运行时设置成员资格提供者的数据库......?

时间:2012-11-07 08:40:55

标签: c# .net database asp.net-membership membership-provider

我们正在使用ASP.Net成员资格提供程序(SQL Server提供程序),我希望能够仅更改类中的数据库名称。为此,我需要配置ASP.Net成员资格提供程序,以便我的安装程序可以使用它

我使用代码

public class CodeFirstMembershipProvider : SqlMembershipProvider
    {    
      public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)  
      { 
          base.Initialize(name, config);  

          // hard coded for testing  
          string connectionString = @"server=localhost;database=masterdb;uid=master;pwd=password";

          // Set private property of Membership provider.  
          FieldInfo connectionStringField = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);  
          if(connectionStringField != null)
            connectionStringField.SetValue(this, connectionString);  
      }
}

在上面的代码中我需要输入并更改完整的连接字符串值..

它也可以正常工作.....

但我的查询是仅更改web.config文件中提到的当前连接字符串的数据库名称。

那么有没有办法通过代码通过ASP.Net成员资格切换数据库名称?

0 个答案:

没有答案