0
看多经过这么Q/A 我没有以下内容:为什么CustomeMembershipProvider没有被调用?
public class CustomMembershipProvider : SimpleMembershipProvider
{
public override string CreateUserAndAccount(string userName, string password, IDictionary<string, object> values)
{
// code to insert data into UserAccounts and UserProfiles tables
// using simple sqlconnections
}
}
数据库表如下:
CREATE TABLE UserAccounts
(
UserNumericId INT NOT NULL IDENTITY PRIMARY KEY,
LoginName VARCHAR(10) NOT NULL,
Password VARCHAR(100) NOT NULL,
)
CREATE TABLE UserProfiles
(
UserNumericId INT NOT NULL PRIMARY KEY,
DisplayName VARCHAR(100) NOT NULL,
PrimaryEmail VARCHAR(80) NOT NULL UNIQUE,
)
Web配置有
<membership defaultProvider="CustomMembershipProvider">
<providers>
<clear/>
<add name="CustomMembershipProvider" type="Helpers.CustomMembershipProvider, assembly" />
</providers>
</membership>
而且在Global.asax中Lazyinitialzation using
public class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
if (!WebSecurity.Initialized)
WebSecurity.InitializeDatabaseConnection("ApplicationServices", "UserAccounts", "UserAccountId", "LoginName", autoCreateTables: false);
}
}
不过,当我从我的注册控制器操作调用下面的语句
WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { DisplayName= model.DisplayName, PrimaryEmail = model.PrimaryEmail});
在我的定义提供断点不会被打到。有人可以帮我吗?
是您CustomMembershpProvider真正的助手命名空间和程序集的名字“集结号”,如图中你的web.config? –