【发布时间】:2014-05-15 09:23:10
【问题描述】:
我有一个 Web 应用程序和两个 sql 数据库。我的客户想要不同的语言,我已经用资源文件解决了这个问题,这是网站的公共部分之一,没有问题。问题是他们有两个具有相同结构和数据类型但语言不同的数据库,用户也不同。我已将 SqlMembershipProvider 中的“初始化”覆盖为:
public class MyqlMembershipProvider : SqlMembershipProvider
{
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
{
var connectionString = GetConnectionStringFromSelectedLanguage();
config["connectionStringName"] = connectionString;
base.Initialize(name, config);
}
}
但是 Initialize 只被调用一次,我每次使用 Membership.yadayada 时都需要设置 connectionString,具体取决于所选的语言。我不想使用Membership.Providers["one_provider"].DeleteUser(a_username),因为它无处不在。我应该怎么做,还有什么我可以覆盖的吗?
/迈克
【问题讨论】:
-
您是否考虑过从 MembershipProvider 扩展?
标签: c# asp.net sql .net asp.net-mvc