Member 14769019 Ответов: 3

Как удалить файл с помощью C# с таймером


Ребята, например, я создаю лог-файл и хочу удалять его раз в час или раз в неделю. Как я могу это сделать ?

Что я уже пробовал:

.............................................

Richard MacCutchan

Что ты имеешь в виду? Что должен делать таймер?

Member 14769019

Извини, наверное, я не мог сказать. Например, я создал файл журнала и хочу удалять его раз в час или раз в неделю.

F-ES Sitecore

используйте log4net, он имеет эту встроенную функциональность.

PIEBALDconsult

Запланированная задача Windows и команда DEL.

3 Ответов

Рейтинг:
2

Dave Kreskowiak

Если бы это был я, я бы написал командную строку, чтобы сделать это из задания планировщика Windows. Нет необходимости писать какой-либо код вообще.


Рейтинг:
1

F-ES Sitecore

System.Threading.Thread t = new System.Threading.Thread(() => {
    System.Threading.Thread.Sleep(100000);
    System.IO.File.Delete(path);
});

t.Start();


Однако он не на 100% надежен и само собой разумеется, что "путь" должен быть путем на сервере, вы не можете удалять файлы на стороне клиента. Также я не пробовал этого с core, но, согласно документам, он все равно должен работать.


F-ES Sitecore

Просто чтобы люди знали, ОП полностью изменил вопрос, так что этот ответ теперь кажется неуместным.

Рейтинг:
0

#realJSOP

Я пишу код уже более 40 лет, так что поступайте с ним так, как считаете нужным...

Если бы это был я, я бы написал службу windows, которая живет на веб-сервере, чтобы сделать это.

Конечно, если бы это был я, я бы поместил записи журнала в базу данных (вместо того, чтобы загромождать файловую систему на веб-сервере), а затем запланировал задание, которое выполняется один раз в день и удаляет записи старше определенного количества дней.

Но это всего лишь я.


MadMyche

+5. аналогично тому, что я реализовал, который работает ежедневно; добавление журналов в month.zip файл, а затем удаление исходного журнала