我在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小时内未确认电子邮件,我想从数据库中删除用户记录。您能给我一个提示,怎么做?
答案 0 :(得分:2)
将用户创建的时间戳记添加到数据库中,并执行计划任务,以状态==未确认并将创建时间比当前时间早1小时从数据库中删除所有用户。
答案 1 :(得分:1)
如果使用Mysql存储用户信息,请查看MySQL事件。
如果您使用的是MsSQL,请查找SQL Jobs并安排它。
并删除所有设置为未确认且注册时间已超过一个小时的用户。
通过这种方式,您的数据不依赖于任何其他应用程序来清除数据。
答案 2 :(得分:0)
您必须创建一个包含业务逻辑的JOB。(例如,删除未确认的用户)