Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当.dll写入文件时通知UI?_C#_File_User Interface - Fatal编程技术网

C# 当.dll写入文件时通知UI?

C# 当.dll写入文件时通知UI?,c#,file,user-interface,C#,File,User Interface,我一直在想办法在我的.dll完成每一步后更新界面,但由于可能有多个.dll(每个都在不同的时间运行),我不想让它们如此附加到UI层 ,但是架构非常混乱,所以我已经删除了通知逻辑 我的目标: UI以友好的方式调用.dll(好的,这是可行的) .dll(本例中为爬虫程序)执行其工作,并使用已知格式记录文件中的每个步骤。(好的,已经完成了) UI层以某种方式“知道”或“定期检查”文件中的更改,并对其进行解析,以便在用户界面中显示文件内容(可能是日志框或w.e) 目前我正在尝试实现第3个目标,有没有任何

我一直在想办法在我的.dll完成每一步后更新界面,但由于可能有多个.dll(每个都在不同的时间运行),我不想让它们如此附加到UI层

,但是架构非常混乱,所以我已经删除了通知逻辑

我的目标:

  • UI以友好的方式调用.dll(好的,这是可行的)
  • .dll(本例中为爬虫程序)执行其工作,并使用已知格式记录文件中的每个步骤。(好的,已经完成了)

  • UI层以某种方式“知道”或“定期检查”文件中的更改,并对其进行解析,以便在用户界面中显示文件内容(可能是日志框或w.e)

  • 目前我正在尝试实现第3个目标,有没有任何技巧可以帮助我在不依赖接口层的情况下实现这个目标

    问题:

  • 在接口层中读取文件以更新它有什么缺点吗

  • 当“文件更改”或类似情况发生时,是否有任何事件我可以检查以处理

  • 如果没有事件,我可以异步检查文件、读取文件、解析文件并在ui中显示结果吗

  • 什么是清晰/最佳的方法

    观察结果:

    在这里使用回调不是一个选项,因为我正在使用它,而且因为我的url层的“深度”,触发事件并向上层抛出事件需要5-6层才能到达用户界面本身


    提前谢谢

    a
    FileSystemWatcher
    应该帮你分类

    a
    FileSystemWatcher
    应该帮你分类

    你太快了,我甚至还不能接受你的答案。但我会在7分钟内完成。谢谢,这似乎是我需要的。你太快了,我甚至还不能接受你的回答。但我会在7分钟内完成。谢谢,这看起来正是我需要的