1小时后如何从数据库中删除未确认的用户?

时间:2019-06-04 11:30:35

标签: c# asp.net

我在asp.net网络表单应用程序中有一个用户类:

public int ID { get; set; }
public string UserName { get; set; }
public byte[] Password { get; set; }
public string Mail { get; set; }
public string AvatarURL { get; set; }
public Status Status { get; set; } = Status.NotConfirmed;
public Guid ConfirmationGuid { get; set; }
public DateTime RegistrationDate { get; set; } = DateTime.Today;

状态属性是一个枚举:

public enum Status : byte {
    NotConfirmed,
    Active,
    Blocked,
    Deactivated
}

当用户注册时,其状态为“未确认”,将为此用户生成新的Guid并将激活链接发送到电子邮件。如果他/她在1小时内未确认电子邮件,我想从数据库中删除用户记录。您能给我一个提示,怎么做?

3 个答案:

答案 0 :(得分:2)

将用户创建的时间戳记添加到数据库中,并执行计划任务,以状态==未确认并将创建时间比当前时间早1小时从数据库中删除所有用户。

答案 1 :(得分:1)

如果使用Mysql存储用户信息,请查看MySQL事件。

如果您使用的是MsSQL,请查找SQL Jobs并安排它。

并删除所有设置为未确认且注册时间已超过一个小时的用户。

通过这种方式,您的数据不依赖于任何其他应用程序来清除数据。

答案 2 :(得分:0)

您必须创建一个包含业务逻辑的JOB。(例如,删除未确认的用户)