2011-03-03 48 views
0

我遇到类似这样的情况:如何实现文件系统监视器?

假设有一个文件夹“D:\ Main”可以包含任何文字文件。在向文件夹中添加任何文件/文件时,我需要解析文件,并根据某些关键字将文件传输到其他子文件夹以及数据库的一些条目。

我知道一些关于FileSystemWatcher的信息。如果会有像“检查和移动”的按钮,那么我知道在按钮单击事件中,我可以做一些事情,但是如何自动执行。我的意思是,如果我手动添加文件到文件夹也应该做同样的事情(文件可能通过网络上传和手动上传)。我目前在asp.net和c#的web应用程序中工作,并且我对Windows有一点了解应用。任何人都可以告诉我如何继续这个?谢谢。

回答

1

你需要创建任何一个Windows应用程序或Windows服务的应用程序。 FileSystemWatch将无法​​在Web应用程序中生存。究其原因是因为Web应用程序的功能通过以下步骤:

  1. Web服务器线程加载
  2. 应用程序启动的守望者,最后输出的网络响应的应用程序。
  3. 经过一段空闲时间后,线程终止应用程序,从而终止观察者。

当你有你的Windows应用程序时,你可以将CanRaiseEvents = truew.Created += new System.IO.FileSystemEventHandler(w_Created);添加到你的观察者。请问您在

void w_Created(object sender, System.IO.FileSystemEventArgs e) 
    { 
     // here 
    }