C# - 不时检查文件是否存在并从中读取

标签 c# multithreading timer windows-services

我创建了一个 Windows 服务,它会不时检查某个文件是否存在,如果存在,然后从中读取数据,将数据发送到服务器并将文件移动到另一个文件夹。一个文件的大小约为 1-3 Mb。

我想我会在这里使用 System.Threading.Timer 来检查文件是否存在。你怎么看?

还有一个问题。如果正在复制文件,则我的应用程序不得从中读取。它应该等到复制完成。只有在那之后,它才必须从中读取并进行其他事件。

所以问题:

1) 使用 System.Threading.Timer 是正确的决定吗?

2) 如何检查正在复制的文件并等待它完成?

3) 我必须使用多线程吗?

最佳答案

I think I will use System.Threading.Timer here to check if a file exists. What do you think of it?

我想你可以看看 FileSystemWatcher类将在文件创建时通知您并引发事件,而不是您使用将持续轮询文件是否存在的计时器。

关于C# - 不时检查文件是否存在并从中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12578177/

相关文章:

.net - 如何在 .net 网站中创建一个始终在后台运行的线程?

c# - 进度条和计时器

c# - 从父类参数获取子类类型

c# - 为什么我检查控件的递归函数会跳过所有其他控件?

android - AsyncTask 在 doInBackground 中崩溃,添加到 listview

Java:新对象的分配和缓存一致性

ios - 如何使用计时器停止长时间运行的功能? swift 4

c# - 将文本格式化为日期/时间格式 c#

c# - 在上下文中找不到类型,可能是映射问题

c# - 首次单击后禁用 asp 按钮,因为它会在慢速连接中保存多条记录