我想使用FileSystemWatcher立即将新生成的文件推送到云端。
我担心的是,如果正在观看的应用程序关闭了一段时间,那么它将丢失一些文件,而且它们永远不会进入备份。
这周围有吗?或者我应该使用消息队列吗?
答案 0 :(得分:0)
您可以使用两个FileSystemWatchers进行一个进程。 1.第一个监视传入的文件位置,并将文件从传入位置移动(而不是复制)到传出位置。 2.第二个监视传出位置并将文件推送到云端。
除了FileSystemWatchers之外,该进程还会在启动时扫描传入的位置。这样,如果它被关闭并且添加了新文件,当它重新启动时,这些新文件仍会被移动到传出位置。虽然过程失败,但没有任何东西可以移动到外出的位置,因此没有什么可以错过的。
更新 我想这也取决于文件的性质。如果您需要更高的可靠性,那么您可以构建一个更强大的进程,捕获该位置中任何文件的详细信息并将要复制的文件列表(可能在表中)排入队列。这样您就不必依赖于是否存在确定状态的文件。