不留痕迹

时间:2010-03-24 14:57:44

标签: c# .net asp.net javascript ajax

我有一个asp.net/c#网络应用程序。当用户何时离开某个页面时,我想删除客户端计算机上的1个特定临时文件,在临时文件文件夹中。我可以这样做吗?我可以做这个服务器端还是客户端?

感谢。

2 个答案:

答案 0 :(得分:2)

您无法从最终用户计算机中删除文件 - 无需使用ActiveX等内容。这会将您的用户绑定到Internet Explorer。

更好的解决方案可能是设置适用的缓存指令,以便浏览器不将文件存储在其缓存中,这样就不会将其实际写入磁盘(我假设文件是​​一个浏览器在查看/加载页面时将其拉下来。)

例如:

    Response.Cache.SetCacheability(HttpCacheability.NoCache);


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


    Response.Cache.SetNoStore();

如果真的想要这样做,并且它不像防止文件被缓存那么简单,那么就像我说的那样,使用ActiveX几乎是唯一的选择。如果您要开发ActiveX控件来执行此操作,我强烈建议您查看Per-Site ActiveX Controls上的MSDN文档。部署ActiveX控件,即使在Intranet中,允许从任何域从最终用户PC中删除文件,也只能被认为是鲁莽的,最坏的情况是疏忽。

答案 1 :(得分:1)

出于安全考虑,这是完全不可能的 (除非你要求删除你自己的cookie)

如果您不希望浏览器缓存文件,可以使用HTTP缓存标头。

相关问题