ASP.NET标识:AddUserAndRole中的空对象引用

时间:2017-05-28 15:29:49

标签: asp.net asp.net-identity asp.net-membership

我正在尝试将旧的ASP.NET WebSite代码移动到WebApp。在用户成员资格部分中,我遵循此处列出的流程:

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/membership-and-administration

但是,此行发生了一个空对象异常:

if (!userMgr.IsInRole(userMgr.FindByEmail("myEmail").Id, "myRole"))

这是堆栈跟踪:

  

System.NullReferenceException未被用户代码

处理      

的HResult = -2147467261

     

Message =对象引用未设置为对象的实例。

     

源= newWebApp

     

堆栈跟踪:          在App \ newWebApp \ Logic \ RoleActions.cs中的newWebApp.Logic.RoleActions.AddUserAndRole():第48行          at newWebApp.Global.Application_Start(Object sender,EventArgs e)

1 个答案:

答案 0 :(得分:0)

发生错误是因为用户名的字符无效。在这种情况下,用户名有一个短划线(“ - ”)导致无效的成员创建。删除无效字符可解决此问题。