2009-11-03 2 views
4

У нас есть приложение asp.net mvc, с которым мы хотели бы интегрировать FileSystemWatcher. Я видел много хороших примеров того, как реализовать FileSystemWatcher, но я действительно не знаю, куда его поместить в мое приложение. Похоже, он должен быть запущен с помощью приложения. Есть идеи?Где я могу поместить файл FileSystemWatcher в мое приложение mvc?

ответ

4

Установите его в свой Application_Start(). Одним из лучших примеров было бы создание log4net с ConfigureAndWatch(), которое internally uses a FileSystemWatcher. Пример:

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("/log4net.config"))) 
1

Возможно, вам лучше использовать FileSystemWatcher в сочетании с Windows Service, если вы хотите контролировать файловую систему для изменений. Служба Windows постоянно работает, а код в веб-приложении выполняется только в ответ на HTTP-запрос.

Этот article может быть хорошим местом для начала.

+0

+1 Хороший ответ на нескольких уровнях. –

+2

Я не знаю, почему так много людей поддержали это, это просто неправильно. Приложения ASP.NET могут запускать фоновый поток без каких-либо проблем. И они могут реагировать на события FileSystemWatcher без какого-либо запроса, запускающего код. –

+0

@Mauricio: Я не думаю, что вы можете сказать, что мой ответ «неправильный». Я представил практическое решение вопроса OP. Я никогда не говорил, что это единственное решение, есть альтернативы, однако ИМХО это лучший подход. – pmarflee

Смежные вопросы