Оставляя нет / меньше следов - PullRequest
2 голосов
/ 24 марта 2010

У меня есть веб-приложение asp.net/c#. Когда пользователь покидает определенную страницу, я хотел бы удалить 1 определенный временный файл на клиентском компьютере в папке временных файлов. Могу ли я сделать это вообще? Могу ли я сделать это на стороне сервера или на стороне клиента?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 марта 2010

Вы не можете удалить файл с компьютера конечного пользователя - без использования чего-то вроде 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, я бы настоятельно рекомендовал вам ознакомиться с документацией MSDN по элементам управления ActiveX для каждого сайта . Развертывание элемента управления ActiveX, даже в интрасети, которое позволяло удалять файлы с ПК конечных пользователей с любого домена , в лучшем случае можно считать безрассудным, а в худшем - халатным.

1 голос
/ 24 марта 2010

По соображениям безопасности это абсолютно невозможно.
(Если только вы не попросите удалить свой собственный файл cookie)

Если вы не хотите, чтобы браузер кэшировал ваши файлы, вы можете использовать заголовки кэширования HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...