2010-03-24 4 views
2

J'ai une application web asp.net/c#. Lorsque l'utilisateur quitte une certaine page, je voudrais supprimer 1 fichier temporaire particulier sur l'ordinateur client, dans le dossier du fichier temporaire. Puis-je faire ça du tout? Puis-je faire ce côté serveur ou client?Ne pas laisser de traces

Merci.

+0

Voulez-vous dire le dossier temporaire Windows ou un dossier temporaire situé sur votre site Web? – Prutswonder

+0

@Prutswonder: dossier temporaire du client Windows – ALOToverflow

Répondre

2

Vous ne pouvez pas supprimer un fichier de la machine de l'utilisateur final - sans utiliser quelque chose comme un ActiveX. Cela lierait vos utilisateurs à Internet Explorer cependant.

Une meilleure solution pourrait être de définir les directives de mise en cache applicables afin que le navigateur ne stocke pas le fichier dans son cache, de cette façon il ne sera pas réellement écrit sur le disque (je suppose ici que le fichier est celui qui est tiré par le navigateur dans le cadre de la visualisation/chargement de la page).

Par exemple:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 


    Response.Cache.SetExpires(DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0))); 


    Response.Cache.SetNoStore(); 

Si vous vraiment voulait ce faire, et il n'a pas été aussi simple que d'empêcher un fichier d'être mis en cache puis comme je l'ai dit, en utilisant un ActiveX serait à peu près la seule option. Si vous deviez développer un contrôle ActiveX pour ce faire, je vous recommande vivement de consulter la documentation MSDN sur Per-Site ActiveX Controls. Le déploiement d'un contrôle ActiveX, même au sein d'un intranet, qui permettait de supprimer des fichiers du PC des utilisateurs finaux de n'importe quel domaine ne pouvait être considéré que comme imprudent, au pire comme négligent.

+0

Oui, c'est un fichier qui est en cours de traitement par le navigateur. Pourriez-vous montrer la méthode ActiveX aussi? Ici, vous n'êtes supposé utiliser IE que ... Merci. – ALOToverflow

+0

@Frank, voir le commentaire que j'ai ajouté sur les contrôles AX par site =) – Rob

+0

Malheureusement, tous les fichiers sont toujours là ... Je suppose que cela devrait être appelé dans le Page_Load()? – ALOToverflow

1

Pour des raisons de sécurité, c'est totalement impossible.
(Sauf si vous demandez à supprimer votre propre cookie)

Si vous ne voulez pas que le navigateur cache vos fichiers, vous pouvez utiliser les en-têtes de cache HTTP.

+0

Pourquoi cette fonctionnalité a-t-elle été réduite? Est-ce que quelqu'un pense que c'est possible? – SLaks

+0

tout est possible. Difficile à faire, une mauvaise idée à faire, mais néanmoins possible ... – Rob

Questions connexes