【问题标题】:Using DI to inject ASP.NET Identity using Castle Windsor使用 DI 使用 Castle Windsor 注入 ASP.NET Identity
【发布时间】: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


    【解决方案1】:

    此问题已修复。请转到下面的链接以检查它是如何修复的。

    Solution

    希望这也可以帮助那些试图防止多次登录的人。
    如果您有任何问题,请随时问我,我会尽力提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多