Tag: filesystemwatcher

FileSystemWatcher的陷阱

我正在开发一个需要使用FileSystemWatcher类的C#程序,以便在创建新文件时通知它。 作为初始化的一部分,程序扫描目录,以便它可以处理其中已存在的任何文件。 这一切都很好。 但是,在与另一位开发人员的讨论中,我们开始质疑这是否始终有效。 是否存在FileSystemWatcher错过文件创建的条件? 如果是这样,这些条件是什么? 为了处理这种情况,我们只是在初始化过程中运行代码,定期扫描目录,但FileSystemWatcher丢失文件的可能性有多大?

服务器可以处理的FileSystemWatcher实例数量有哪些实际限制?

我有一个Windows服务,目前正在实例化大约十几个FileSystemWatcher实例,以监控整个公司网络中的共享文件夹,以便处理文件。 我正在考虑添加更多实例,所以我想知道这里是否有人(生产系统)有关生产系统可以可靠处理的FileSystemWatcher实例数量的实际限制是什么? 编辑:在我的情况下,不修改InternalBufferSize属性,因此InternalBufferSize是默认的8 KB …我假设InternalBufferSize的增加会影响系统可以同时运行的FileSystemWatcher实例的数量,因此这也是方程的一部分… 编辑:如果您认为这仅仅是一个资源问题,它只取决于可用内存的数量或系统的其他硬件方面,请分享您的经验或指向证实您的意见的文档或文章的链接……我会真的很想听听那些在生产中达到极限的人,无论他们的硬件规格如何,所以请在投票前仔细考虑其他7个人在不到20分钟的时间内表示有兴趣听到那些推动限制的人…

检测C#中的文件读取

我正在使用FileSystemWatcher检查文件何时被修改或删除,但我想知道是否有任何方法可以检查其他应用程序何时读取文件。 示例:我的硬盘驱动器上有文件C:\ test.txt,正在使用FileSystemWatcher查看它。 另一个程序(不在我的控制之下)去读取该文件; 我想抓住该事件,如果可能的话,检查正在读取文件的程序,然后相应地修改文件的内容。

FileSystemWatcher – 文件可以使用

将文件复制到文件观察程序文件夹时,如何确定文件是否已完全复制并可以使用? 因为我在文件复制期间收到多个事件。 (使用File.Copy通过其他程序复制该文件。)

FileSystemWatcher停止捕获事件

我正在编写ac#程序,以便在添加或删除文件时通知我。 我在Windows 7机器上运行它并在我们的网络上观看FTP服务器。 它工作正常但会突然停止捕捉任何事件。 我猜它可能正在失去与服务器的连接,或者网络中存在故障。 如何在代码中处理这种情况。 是否有一些我可以观察的exception并尝试重新启动FileSystemWatcher对象。 任何建议和代码示例将不胜感激。

.NET filesystemwatcher – 它是文件还是目录?

有没有办法确定FSW是否删除了文件或目录?

如何通过用户名监视文件服务器上的文件访问和更改?

我被要求找到一种方法来监视公司共享文件服务器(简单的Windows共享目录)上特定文件夹中文件的更改(修改,重命名,删除,移动)。 我在C#中编写了一个简单的应用程序,它使用FileSystemWatcher监视这些更改并通知它们的特定电子邮件地址。 我现在想知道的是如何找出进行这些更改的用户/计算机的名称/ IP。 有任何想法吗? 作为编写自己的软件的替代方案,是否有任何支持此function的好(可能是免费的)软件?

尽管采取了针对它的措施,FileSystemWatcher事件仍然提升了两次

我已经在这里和其他网站上浏览了不少线程来解决这个问题。 这是我的FileMonitor类: class FileMonitor { public FileMonitor(String path) { try { var watcher = new FileSystemWatcher() { Path = path, IncludeSubdirectories = true, InternalBufferSize = 65536, EnableRaisingEvents = true }; watcher.Changed += new FileSystemEventHandler(OnFileChanged); watcher.Created += new FileSystemEventHandler(OnFileCreated); watcher.Deleted += new FileSystemEventHandler(OnFileDeleted); watcher.Renamed += new RenamedEventHandler(OnFileRenamed); watcher.Error += new ErrorEventHandler(OnWatcherError); } catch (Exception) { throw; […]

FileSystemWatcher是否创建自己的线程?

我希望这项工作在不同的线程中完成,但我是否必须创建一个线程或者它是否在不同的线程上完成所有工作? 喜欢: Thread fileThread = new Thread(() => { FileWatcher = new FileSystemWatcher(); FileWatcher.Created += OnFileEvent; FileWatcher.Deleted += OnFileEvent; FileWatcher.Renamed += OnRenameEvent; FileWatcher.EnableRaisingEvents = true; }); fileThread.Start();

文件系统观察程序和大文件

var fsw = new FileSystemWatcher(sPath, “*.PPF”); fsw.NotifyFilter = NotifyFilters.FileName; fsw.IncludeSubdirectories = true; fsw.Created += FswCreated; fsw.EnableRaisingEvents = true; static void FswCreated(object sender, FileSystemEventArgs e) { string sFile = e.FullPath; string[] arrLines = File.ReadAllLines(sFile); } 这对于大文件失败,因为编写文件时没有完成该过程。 该文件是通过网络复制的,所以我不知道文件的大小。 需要什么样的同步才能使其稳健?