2012-03-28 110 views
0

我试图通过覆盖的MembershipProvider类的方法来创建自己的“CREATEUSER”。问题是,CREATEUSER是数据类型的的MembershipUser,我在返回一个没有的MembershipUser兴趣,我只是想知道,如果用户是通过返回一个布尔创建与否。我怎样才能以最好的方式实现这一目标?定义成员资格提供,覆盖创建用户

public override MembershipUser CreateUser(string name, string email) 
    { 
     User u = new User 
     { 
      Email = email, 
      Name = name 
     }; 
     gdb.Users.InsertOnSubmit(u); 
     try 
     { 
      gdb.SubmitChanges(); 
      MailSender.NewMember("hej hopp"); 
     } 
     catch 
     { 
      return false; 
     } 
    } 

回答

0

在编写自定义成员资格提供程序时,您必须尊重基类中定义的方法的签名。所以你必须返回一个MembershipUser的实例。如果您的应用程序不与CreateUser方法的返回值做任何事情,你只填入你想需要在构造函数中使用的字段,你可以返回null或MembershipUser一个实例。

+0

这东西,当我刚开始我没有足够的信息来填充的MembershipUser的构造函数注册用户,所以我不能返回MemreshipUser对象。 – 2012-03-28 15:39:27

+0

然后只使用您拥有的信息。 IIRC MembershipUser构造函数的参数对于其中的大多数是可选的。 – 2012-03-28 15:40:20