Asp.net mvc 5 ASP.NET标识中的错误';s用户管理器

Asp.net mvc 5 ASP.NET标识中的错误';s用户管理器,asp.net-mvc-5,asp.net-identity,Asp.net Mvc 5,Asp.net Identity,MVC5的UserManager似乎有一个bug: 我的代码: public void InsertUser(KoreUser user, string password) { var appUser = new ApplicationUser { UserName = user.UserName, Email = user.Email, LockoutEnabled = user.IsLockedOut }; us

MVC5的UserManager似乎有一个bug:

我的代码:

public void InsertUser(KoreUser user, string password)
{
    var appUser = new ApplicationUser
    {
        UserName = user.UserName,
        Email = user.Email,
        LockoutEnabled = user.IsLockedOut
    };
    userManager.Create(appUser, password);
}
这段代码在几乎所有情况下都能正常工作。。用户名包含空格时出现异常。。例如:

JohnDoe-好

约翰·多伊-不好..


在后一个例子中,它默默地失败了;没有引发异常。。这里有什么问题?

这不是一个bug。不会引发异常,因为在用户身份验证领域,预期用户名无效是合理的

创建用户名时执行的默认检查使用正则表达式模式
^[a-Za-z0-9@_\.]+$
以在创建用户之前验证名称。空白字符无法通过此测试


另一个注意事项是Usermanager的
Create
方法返回类型为的对象。使用该对象,您可以检查是否成功,并查看在未创建用户的情况下返回的错误。

感谢您的回复。虽然我知道不允许空格的原因(毕竟是用户名,而不是用户的真实姓名),但我确实认为没有引发异常是相当奇怪的。。感谢您提供有关IdentityResult的提示。通常,除非发生异常情况,否则不会抛出异常。相反,对象用于表示操作的状态。