使用 DI 注入 ASP.NET 使用 Castle Windsor 的身份
Using DI to inject ASP.NET Identity using Castle Windsor
我想做的是在 ASP.NET.
中防止多次登录
我关注了这篇文章:Prevent Multiple Login in ASP.NET
之后我按照这篇文章:Changing PK data type将主键的数据类型从字符串(默认)更改为长。但是我还是无法阻止多次登录。
我发现它不工作的原因是因为我无法获得 UserManager 的实例
app.CreatePerOwinContext(() => DependencyResolver.Current.GetService<UserManager>());
上面的代码无效。我收到
的错误
Object reference not set to an instance of an object.
之后我找到这篇文章:AspNet Identity and IoC Container Registration and tried to understand the code but it's using unity. But there is a link above of that article that is using Castle Windsor: Castle Windsor 我不知道这是从哪里来的:
var container = DIContainer.GetConfiguredContainer();
更新
现在我意识到我无法获取对象实例的原因是因为我无法像其他 .cs 文件一样在 StartUp.cs 中注入 UserManager。
例如:
private readonly UserManager _userManager;
public StartUp(UserManager userManager)
{
_userManager = userManager;
}
上面的代码给我这个错误:
No parameterless constructor defined for this object
请帮帮我!!!它困扰了我几个星期
此问题已修复。请转到下面的 link 查看它是如何修复的。
希望这也能帮助那些试图防止多次登录的人。
如果您有任何问题,请随时问我,我会尽力提供帮助。
我想做的是在 ASP.NET.
中防止多次登录
我关注了这篇文章:Prevent Multiple Login in ASP.NET
之后我按照这篇文章:Changing PK data type将主键的数据类型从字符串(默认)更改为长。但是我还是无法阻止多次登录。
我发现它不工作的原因是因为我无法获得 UserManager 的实例
app.CreatePerOwinContext(() => DependencyResolver.Current.GetService<UserManager>());
上面的代码无效。我收到
的错误Object reference not set to an instance of an object.
之后我找到这篇文章:AspNet Identity and IoC Container Registration and tried to understand the code but it's using unity. But there is a link above of that article that is using Castle Windsor: Castle Windsor 我不知道这是从哪里来的:
var container = DIContainer.GetConfiguredContainer();
更新
现在我意识到我无法获取对象实例的原因是因为我无法像其他 .cs 文件一样在 StartUp.cs 中注入 UserManager。
例如:
private readonly UserManager _userManager;
public StartUp(UserManager userManager)
{
_userManager = userManager;
}
上面的代码给我这个错误:
No parameterless constructor defined for this object
请帮帮我!!!它困扰了我几个星期
此问题已修复。请转到下面的 link 查看它是如何修复的。
希望这也能帮助那些试图防止多次登录的人。
如果您有任何问题,请随时问我,我会尽力提供帮助。