gpt4 book ai didi

c# - SetLockoutEndDateAsync 未更新数据库中的值

转载 作者:行者123 更新时间:2023-12-02 03:00:57 24 4
gpt4 key购买 nike

我有一个 ajax 表单,当用户单击复选框以锁定用户时,该表单会发回。当我检查该用户的 LockoutEndDateUtc 列时,该列仍然为 NULL。

这是我的 Json 方法。

    [Authorize]
[HttpPost]
public JsonResult AjaxUpdateUserLockout(string userId)
{
string message = "";

if (string.IsNullOrEmpty(userId)) message = "Unable to find user!";

try
{
var result = UpdateLockoutDate(userId);
message = "Success";
}
catch (Exception ex)
{
NLogger.Error(ex);
message = "Error updating user!";
}

return new JsonResult()
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = new { result = message }
};
}

这是我设置锁定日期的方法

    private async Task<IdentityResult> UpdateLockoutDate(string userId)
{
var user = ApplicationUserManager.FindById(userId, new AFFirst2Entities());


if (user.LockoutEndDateUtc != null && user.LockoutEndDateUtc != DateTime.MinValue)
{
return await ApplicationUserManager.SetLockoutEndDateAsync(userId, DateTimeOffset.MinValue);
}
else
{
return await ApplicationUserManager.SetLockoutEndDateAsync(userId, DateTimeOffset.MaxValue);
}
}

我错过了什么吗?对于所有用户,LockoutEnabled 列均设置为 true。

最佳答案

我通过设置 user.LockoutEndDateUtc = DateTime.UtcNow 修复了此问题,而不是使用 SetLockoutEndDateAsync 方法。

关于c# - SetLockoutEndDateAsync 未更新数据库中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41642171/

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