gpt4 book ai didi

asp.net-web-api - 如何访问 Web API Controller 中的 Identity UserManager 来发送电子邮件

转载 作者:行者123 更新时间:2023-12-02 07:34:09 24 4
gpt4 key购买 nike

我正在使用 Identity v2 并且需要使用 OWIN Middleware 组件的 UserManager.SendAsync 方法从 Web Api Controller 发送电子邮件。但我不知道如何在 Web Api Controller 方法中访问 UserManager 本身。我正在尝试类似的方法,例如常规 MVC Controller ,但 usermanager 始终 null。请问有什么建议吗?

  public class MyApiController: ApiController
{

public MyApiController()
{

}

public MyApiController(ApplicationUserManager userManager)
{
UserManager = userManager;
}

public ApplicationUserManager UserManager
{
get
{
return _userManager ?? HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}

public void SendEmail()
{

_userManager.SendAsync(...);
}
}

最佳答案

当前的解决方案永远不会调用采用 ApplicationUserManager 的构造函数。更改您的空构造函数以调用其他构造函数。

public class MyApiController: ApiController
{

public MyApiController()
: this(new ApplicationUserManager())
{

}

THE REST OF YOUR IMPLEMENTATION GOES HERE
}

关于asp.net-web-api - 如何访问 Web API Controller 中的 Identity UserManager 来发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24574693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com