J'ai des problèmes pour supprimer les dossiers et fichiers temporaires sur mon serveur lorsque les utilisateurs ne terminent pas une action dans les pages Web et quittent les autres pages Web. Initialement à la page Les dossiers de chargement sont créés pour permettre à l'utilisateur de charger des fichiers. J'ai essayé d'implémenter la destruction pendant Idisposable sans succès. Quelqu'un pourrait-il indiquer la meilleure méthode pour supprimer les dossiers et les fichiers lorsque l'utilisateur quitte la page sans action ou annuler le bouton.C# On Quitter WebPage Supprimer des fichiers et des dossiers sur le serveur sans intervention de l'utilisateur
Répondre
Vous pouvez examiner l'événement OnUnload de la page mais, honnêtement, votre meilleur pari est d'avoir un script exécuté périodiquement et supprimer tous les fichiers du dossier temporaire plus d'un montant raisonnable. par exemple. exécuter à minuit et supprimer tous les fichiers créés plus il y a 24 heures (ou moins, si l'espace disque est un problème).
J'ai testé mais je ne suis pas satisfait du résultat. L'autre façon est d'utiliser un événement de fin de session dans Global asax mais n'est pas déclenché si la session est stockée dans StateServer ou SQLServer en mode prod. Les dossiers temporaires ne sont pas bien gérés si vous devez transférer des fichiers plus tard dans le serveur. – user325558
Si vous voulez dire que vous n'êtes pas satisfait de l'utilisation de l'événement OnUnload, oui, c'est pourquoi j'ai recommandé d'exécuter un script. Quand j'ai dit "dossier temporaire" je voulais dire votre dossier temporaire, pas n'importe quel type de dossier temporaire du système d'exploitation. Je ne suis pas tout à fait clair sur ce que vous entendez par "pas bien géré"? – Zarigani
Ne fonctionne pas comme escompté pour transférer le contenu des dossiers temporaires à un serveur Web. Je suis retourné pour créer des fichiers temporaires de l'utilisateur std directement dans le serveur. Exécuter un script en utilisant le quartz, je n'aime pas beaucoup. Je préférerais gérer directement en place en utilisant un événement contrôlé. – user325558
Je ne sais pas pourquoi vous voulez créer des dossiers et des fichiers temporaires. Mais les supprimer sur aucune action est laide façon de compter sur, car vous avez besoin de quelques minuteries. Vous pouvez utiliser System.IO.Path.GetTempPath() pour obtenir un fichier temporaire et le système se chargera de la suppression.
En fait, Windows ne vide pas automatiquement le dossier temporaire. – SLaks
Vous avez posté la même question ici: http://stackoverflow.com/questions/2714583/c-webpages-manage-exit-events-or-quit-with-no-user-action-server-side – BigJump