gpt4 book ai didi

asp.net-mvc - MVC 中的 ASP.NET Identity IUserEmailStore 错误

转载 作者:行者123 更新时间:2023-12-05 09:20:41 32 4
gpt4 key购买 nike

当用户与生成的 token 一起注册时,我正在尝试发送确认电子邮件。 token 没问题。但是在发送电子邮件时,我收到此错误:

System.NotSupportedException: Store does not implement IUserEmailStore<TUser>.

我在 AccountController 中的 Register 方法中的代码如下所示: 导致错误的是 SendEmailAsync() 方法:

if (result.Succeeded)
{
var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>");
ViewBag.Link = callbackUrl;
return View("DisplayEmail");
}

在我的 IdentityConfig.cs 文件中,我有一个类:

public class ApplicationUserManager : UserManager<ApplicationUser>
{
public ApplicationUserManager(IUserStore<ApplicationUser> store)
: base(store)
{
}
}

在我的 IdentityConfig.cs 文件中,我还有另一个类:

public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
// Plug in your email service here to send an email.
SmtpClient client = new SmtpClient();
return client.SendMailAsync(ConfigurationManager.AppSettings["TranscriptEmailAddr"],
message.Destination,
message.Subject,
message.Body);
}
}

请协助。

最佳答案

我刚刚发现我安装了 Microsoft.AspNet.Identity.EntityFramework v1.0.0 但我需要 v2.x。我通过输入以下命令通过包管理器控制台安装了它:

Install-Package Microsoft.AspNet.Identity.EntityFramework -Version 2.2.1

在这个更高版本中,UserStore 实现了具有新电子邮件方法的 IUserEmailStore

关于asp.net-mvc - MVC 中的 ASP.NET Identity IUserEmailStore 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877021/

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