【发布时间】:2017-03-07 10:36:11
【问题描述】:
我正在开发一个 MVC 项目,以将身份信息与启动的 MVC 项目分开。执行该行时的用户注册
UserManager.GenerateEmailConfirmationTokenAsync(userId)
它会抛出带有消息的 System.ArgumentException
如果指定了用途列表,则该列表不能包含空条目或仅由空白字符组成的条目。 参数名称:用途
堆栈跟踪
at System.Web.Security.MachineKey.Protect(Byte[] userData, String[] purposes)
at Microsoft.Owin.Host.SystemWeb.DataProtection.MachineKeyDataProtector.Protect(Byte[] userData)
at Microsoft.Owin.Security.DataProtection.AppBuilderExtensions.CallDataProtectionProvider.CallDataProtection.Protect(Byte[] userData)
at Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider`2.<GenerateAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNet.Identity.UserManager`2.<GenerateUserTokenAsync>d__fe.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Robot.ACG.Web.Controllers.AccountController.<Register>d__15.MoveNext() in...
有什么想法吗?
【问题讨论】:
-
你确定在这行提示错误吗?
-
在调试时会在这一行抛出。
-
什么是
userId?什么类型? -
我在此行上方创建用户并将创建的用户 ID 放入其中。就我而言,这是一个 int。
-
根据 Microsoft 的说法,此方法需要一个
TKey参数。查看此线程,获取正确的user对象并传递其 `id´ property:stackoverflow.com/questions/22755700/…
标签: c# asp.net asp.net-mvc asp.net-identity