我需要设置一个应用程序来监视在本地或网络驱动器上的目录中创建的文件.
请问FileSystemWatcher一个计时器或投票将是最好的选择.我过去曾使用过这两种方法,但并不广泛.
两种方法都存在哪些问题(性能,可靠性等)?
如何使以下代码异步运行,而不必在线程池上创建额外的线程(换句话说,不用 Task.Run(...))?
Directory.CreateDirectory("\\host\someNetworkDirectory");
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想这样使用它:
async SomeMethod(){
//...
await Directory.CreateDirectoryAsync("\\host\someNetworkDirectory");
// stuff to do after ensuring the directory exists
//...
}
Run Code Online (Sandbox Code Playgroud)
我尝试了此答案(建议使用FileSystemWatcher),但不适用于文件夹。
我正在开发一个需要使用FileSystemWatcher该类的C#程序,以便在创建新文件时通知它.作为初始化的一部分,程序扫描目录,以便它可以处理其中已存在的任何文件.这一切都很好.
但是,在与另一位开发人员的讨论中,我们开始质疑这是否始终有效.是否存在FileSystemWatcher错过创建文件的条件?如果是这样,这些条件是什么?
为了处理这种情况,我们只是在初始化过程中运行代码,定期扫描目录,但是FileSystemWatcher错过文件的可能性有多大?