我想不断检查xml文件是否已更新...我想创建一个不断被调用的函数,即使它是每隔一刻钟...
private void button_Click(object sender, RoutedEventArgs e)
{
while (true)
{
textBox.Text = "Count" + Count++;
}
}
答案 0 :(得分:4)
您可以使用async/await
public async void Poll()
{
while(true)
{
textBox.Text = "Count" + Count++;
await Task.Delay(TimeSpan.FromMilliseconds(250);
}
}
要提供取消选项,请提供CancellationToken
while(!cancellationToken.IsCancellationRequested)
有关详细信息,请参阅CancellationToken
的文档答案 1 :(得分:1)
无轮询,您可以收到有关文件系统修改的警告,包括FileSystemWatcher
的子目录。
4类事件:
- 创建了
- 改变了
- 删除了
- 重命名
FileSystemWatcher watcher = new FileSystemWatcher(path);
watcher.IncludeSubdirectories = true;
watcher.Filter = "*.config";
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.EnableRaisingEvents = true;
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnCreated);
watcher.Deleted += new FileSystemEventHandler(OnDeleted);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}