【发布时间】:2017-08-28 07:56:57
【问题描述】:
我想做的是防止在 ASP.NET 中多次登录。
我关注了这篇文章:Prevent Multiple Login in ASP.NET
之后,我按照这篇文章:Changing PK data type 将主键的数据类型从字符串(默认)更改为长。但我仍然无法阻止多次登录。
我发现它不起作用的原因是因为我无法获取 UserManager 的实例
app.CreatePerOwinContext(() => DependencyResolver.Current.GetService<UserManager>());
上面的代码不起作用。我收到了
的错误对象引用未设置为对象的实例。
之后我找到了这篇文章:AspNet Identity and IoC Container Registration 并试图理解代码,但它使用的是统一的。但是该文章上方有一个链接使用的是温莎城堡:Castle Windsor,我不知道这是从哪里来的:
var container = DIContainer.GetConfiguredContainer();
更新
现在我意识到我无法获取对象实例的原因是因为我无法像其他 .cs 文件一样在 StartUp.cs 中注入 UserManager。
例如:
private readonly UserManager _userManager;
public StartUp(UserManager userManager)
{
_userManager = userManager;
}
上面的代码给了我这个错误:
没有为此对象定义无参数构造函数
请帮帮我!!!它困扰了我几个星期
【问题讨论】:
标签: c# asp.net-mvc dependency-injection castle-windsor asp.net-identity-2