2009-03-30 6 views
3

Je cherche un moyen d'avoir un script exécuté tous les jours à 5h du matin pour supprimer le contenu d'un dossier Temp. Ce qui suit est la méthode que je considère. J'apprécierais n'importe quelles pensées sur ceci ou suggestions pour d'autres méthodes. Je veux garder tout local, de sorte qu'il n'y ait pas de dépendances externes de l'extérieur de mon compte sur l'hébergement ASP Discount. Avoir un fichier texte contenant la date et l'heure du prochain passage désiré (5h00 demain).Question de "planification" de script ASP.NET

  • une valeur de cache DateTime qui expire après (une heure?)
  • Quand quelqu'un touche le site et le cache est expiré, recharger la datetime dans le cache
  • Si le Datetime est passé, exécutez le script pour être " planifié "et ajouter 24 heures à la DateHeure dans le fichier

Vos commentaires sont appréciés.

+0

Pouvez-vous donner plus de détails sur le contenu du dossier temporaire et pourquoi vous devez le purger? Je pense qu'il pourrait y avoir une meilleure réponse qui consiste à ne pas compter sur un processus final pour nettoyer le répertoire. – JohnFx

+0

Le dossier temporaire contient les images téléchargées à partir d'un formulaire en mvc. après l'achèvement du formulaire, le fichier en question est purgé du dossier temporaire, mais si l'utilisateur ne passe pas à la fin des formulaires, le fichier reste dans le répertoire temporaire – splatto

Répondre

4

Vous êtes sur la bonne voie. Here est un bon article comment y parvenir. En outre, selon votre commentaire, pourquoi ne pas utiliser l'événement de fin de session pour purger? En outre, vous pouvez également utiliser la fin de l'application, au cas où.

1

Vous pouvez également créer un service Web pour effectuer la tâche, puis avoir une tâche planifiée appelez le service Web périodiquement.

1

Ce n'est pas une bonne idée, car vous dépendez d'une entrée qui ne viendra jamais exécuter une opération qui doit être effectuée régulièrement. Pour cette raison, vous avez besoin d'une entrée provenant de l'extérieur du site (puisque le site est déclenché par des requêtes) pour déclencher votre événement, en d'autres termes, un planificateur.

Vous devez utiliser une tâche planifiée pour cela. Si vous n'êtes pas, alors vous devriez avoir un autre processus qui enverra l'événement sur le site (exposer une méthode web peut-être) qui sur le calendrier que vous désirez.