【问题标题】:How to implement filesystem watcher?如何实现文件系统观察器?
【发布时间】:2011-03-03 06:35:37
【问题描述】:

我的情况如下:

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

我对 FileSystemWatcher 有所了解。如果会有一个像“检查并移动”这样的按钮,那么我知道在按钮单击事件上我可以做一些事情,但如何自动做。我的意思是,如果我手动将文件添加到文件夹中,它也应该这样做(文件可以通过 web 和手动上传)。我目前正在使用 asp.net 和 c# 使用 web 应用程序,我对 windows 有一点了解应用。有人可以建议我如何进行吗?谢谢。

【问题讨论】:

    标签: c# asp.net filesystems directory filesystemwatcher


    【解决方案1】:

    您将需要创建一个 Windows 应用程序或一个 Windows 服务应用程序。 FileSystemWatch 无法在 Web 应用程序中生存。原因是Web应用程序按照以下步骤运行:

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

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

    中进行处理
        void w_Created(object sender, System.IO.FileSystemEventArgs e)
        {
            // here
        }
    

    【讨论】:

      【解决方案2】:

      我只是碰巧在研究一些非常相似的东西。

      但是你回答了你自己的问题。 FileSystemWatcher 可能是您想要的。

      较低级别的 Win32 API 信息在这里: Obtaining Directory Change Notifications

      这里: FindFirstChangeNotification

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-13
        • 2011-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多