Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

таймер в ASP.NET

52K
24 сентября 2009 года
Айлор
1 / / 24.09.2009
Привет! люди помогите. есть такая проблема:
на сервере есть папочка temp, в которую кладутся временные файлы и пользователю выдаётся ссылка на этот файл. но необходимо, чтобы эта ссылка была действительно в течении некоторого времени, а потом файл удалялся из этой папки. Делаю как: запускаю таймер, который должен сработать через некоторое время и убить содержание temp. если открывается всего одна страница с такой временной ссылкой, то все нормал. А если 2, то второй поток (созданный вторым таймером) просто даже не заходит в свою callback функцию. Помогите пожалуйста решить!!!! такое впечатление что второй поток кто-то убивает.

private static Mutex mut=new Mutex();
_timers.Add(new System.Threading.Timer(new TimerCallback(DeleteFileFromTemp), _state, 20000, Timeout.Infinite));

private void DeleteFileFromTemp(object state)
{

mut.WaitOne();
string _tempPath = "";
try
{
_tempPath = (string)state;
File.Delete(_fileName);
Directory.Delete(_tempPath);
}
catch (DirectoryNotFoundException)
{
}
catch (Exception ex)
{

}
mut.ReleaseMutex();
}
279
02 октября 2009 года
bave
456 / / 07.03.2004
Таймер создавать вобще впринципе не верное решение для web приложения.
-------------------------------
Лучше хранить ссылки на файлы в базе на сервере используя FILESTREAM и джоб написать чтоб ненужные записи удалял из таблицы, где храняться ссылки на файл, тем самым делая файлы недоступными.

Достаточно таблички для этого из трех полей - Id-шник чтоб из базы файлы по запросу отдавать по нему (например в query string его передавая), datetime - чтоб хранить когда файл создан, чтоб джоб знал удалять запись о нем или нет, и сама ссылка на файл...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог