.net mvc email as username return error - InvalidProviderUserKey

时间:2011-05-17 13:47:53

标签: .net asp.net-mvc model-view-controller createuser

我有一个.Net MVC应用程序,我试图使用电子邮件地址作为用户名。我实现了this article中的逻辑,其中用户名被屏蔽为电子邮件。但是,当我试着打电话时

private readonly MembershipProvider _provider;
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, false, out status);

用户名为“email@email.com”,状态始终返回为 InvalidProviderUserKey 。如果我使用标准用户名(没有@),它可以正常工作。我试图寻找解决方案,但我真的可以在任何地方找到InvalidProviderUserKey的解释。

我想知道是否有人之前遇到过此问题,或者可能能够解释为什么这种情况会返回此特定状态。提前感谢您的帮助。

更新

我使用Guid.NewGuid作为ProviderUserKey并且它有效。

_provider.CreateUser(userName, password, email,null, null, true, Guid.NewGuid(), out status);

感谢Daniel A. White的帮助。您提供的文章链接是我需要理解的内容。

1 个答案:

答案 0 :(得分:2)

确保将某些内容传递给providerUserKey,而不仅仅是false

  

providerUserKey输入:System.Object   来自的唯一标识符   用户的会员数据源。

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.createuser.aspx