c# - 扩展 Membership.CreateUser 方法的参数

标签 c# .net asp.net asp.net-membership

我使用此代码调用我的自定义成员资格提供程序方法:

 Membership.CreateUser(newUser.UserName, newUser.Password);

但我需要扩展一些参数。我已经写了这个来覆盖方法:

 public override MembershipUser CreateUser(string username, string password, string email, 
    string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
    try
    {
        int max = 1;
        int RoleID = 0;
        using (var context = new KowsarSiteEntities())
        {
            max += (from i in context.aspnet_Users
                    select i).Max(itm => itm.UserId);
            RoleID = (from v in context.aspnet_Roles
                      where v.RoleName.ToLower().Equals(RoleName)
                      select v.RoleId).FirstOrDefault();
            KowsarSiteModel.aspnet_Membership member =                    
                KowsarSiteModel.aspnet_Membership.Createaspnet_Membership
                    (ApplicationID, max, GetHashedPassword(password), 1);
            KowsarSiteModel.aspnet_Users ASPNETusers = 
                KowsarSiteModel.aspnet_Users.Createaspnet_Users(ApplicationID, max, username);
            KowsarSiteModel.aspnet_UsersInRoles userInRoles =
                KowsarSiteModel.aspnet_UsersInRoles.Createaspnet_UsersInRoles(max, RoleID);
            context.AddToaspnet_Membership(member);
            context.AddToaspnet_Users(ASPNETusers);
            context.AddToaspnet_UsersInRoles(userInRoles);
            context.SaveChanges();
        }
        status = MembershipCreateStatus.Success;
    }
    catch (Exception ex)
    {
        string str = ex.Message;
        status = MembershipCreateStatus.UserRejected;
    }
    return null;
}

我需要向 CreateUser 方法添加一些参数,但是 Membership 怎么可能是一个静态类,我如何自定义它?

最佳答案

((YourProviderType)Membership.Provider).CreateUser(yourParameters);

关于c# - 扩展 Membership.CreateUser 方法的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693501/

相关文章:

c# - .NET 会受益于 "named anonymous"类型吗?

c# - default(T) 使用空集合而不是 null

c# - 委托(delegate)返回类型与 lambda 函数不同

c# - 如何解决 SignalR 在背板横向扩展中的局限性

c# - 在方法返回的 If-Else 语句中,如果可以隐式遵循 Else,是否应该显式声明 Else?

c# - Visual Studio 内存不足?

c# - 优化具有大量实例的 .NET 应用程序的内存占用

c# - C# 中的集合

c# - 在缩略图上创建 'iPhone style icon' 效果?

c# - 混淆模型与 View 模型