私は自分のウェブサイトの有効期限を作成したいと考えています。ユーザーは一定期間支払いを行い、アカウントの有効期限が切れます。私が必要とするのは、それらを期限切れにする方法です。私は毎日1回実行され、有効期限を過ぎたユーザーは無効にする方法を考えていましたが、実装方法はわかりません。これまでに行ってきたことはすべて、接続する人に依存しているからです。このコードはサイトを訪れる誰かから独立しているべきです。アクティブな接続がないメソッドを実行する
編集:アイデアのすべてのための
感謝。
私は、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のおかげでChris Marisicに感謝します。それは私が望む任意の間隔でカスタムイベントを開始することを可能にしました。 aspネットのために、管理者だけが見ることができるボタンを作成しました。それはイベントを開始します。クォーツのウェブサイトのチュートリアル#3は主に私が使ったものでした。
なぜあなたはそれを行う必要がありますか?アカウントが作成されたら、最後にアカウントが更新されたときにタイムスタンプを保存できませんか?また、アカウントのアクティブ期間を定義する関連するアカウントタイプを使用することもできます。 –
私はプレーンな古いフォーム認証を使用しているので、xmlファイルにいくつかのものが格納されています。タイムアウトが切れたときにタイムスタンプを格納します。 –
代わりに更新されたときにタイムスタンプを保存することはできませんか?次に、アカウントが古いかどうかを判断する別の "ルール"を設定することができます。なぜデータベースに格納しないのですか?この情報のために別のデータベーステーブルを作成することができます。 –