Я хотел бы создать систему истечения срока действия для своего веб-сайта, где пользователь платит за определенный период времени, после чего срок действия его учетной записи истекает. Что мне нужно, так это способ заставить их истечь. Я думал о том, чтобы иметь метод, который будет запускаться один раз в день и отключать любого пользователя, у которого истек срок годности, но я не знаю, как реализовать это, потому что все, что я сделал до сих пор, зависит от человека, который подключается. этот код должен быть независимым от посетителей сайта.
Edit:
Спасибо за все идеи.
Я подумал упомянуть, что я не могу выполнить всю задачу, просто выполнив задание на сервере SQL. Мне также нужно было бы перемещать и изменять файлы.
Примерно так:
public void checkExpire()
{
// much more code to check the expiration goes here
if (DateTime.Now == expiration)
{
MembershipUser user = Membership.GetUser();
user.IsApproved = false;
Membership.UpdateUser(user);
File.Move(Request.PhysicalApplicationPath + "logs\\" + user.UserName + ".xml", Request.PhysicalApplicationPath + "logs\\disabled\\" + user.UserName + ".xml");
File.Move(Request.PhysicalApplicationPath + "reps\\" + user.UserName + ".xml", Request.PhysicalApplicationPath + "reps\\disabled\\" + user.UserName + ".xml");
email mail = new email("", true);
mail.sendMail(user.UserName, "Dear user, \n\nYour account has been disabled. None of your data has been lost.\nIf you believe this was a mistake please contact the administrator", "Account Disabled");
Response.Redirect("/Restricted/Members.aspx");
}
}
Я смотрел на Quartz.net, это позволило бы мне сделать это?
Решено:
Спасибо Крису Марисику, который порекомендовал Quartz.net. Это позволило мне запустить пользовательское событие в любой интервал, который я хотел. для asp net я создал кнопку, которую мог видеть только админ, чтобы запустить событие. Учебное пособие № 3 на веб-сайте кварца было в основном тем, что я использовал.