c# - 使用 C# 如何确定服务器上的 excel 文件是否已更新。此检查需要每 24 小时执行一次

标签 c# winforms excel windows-services

到目前为止,我已经尝试过这段代码,它显示了上次更新的 1 个文件。

        FileInfo fileInfo = new FileInfo(@"C:\Users\Desktop\test.xlsx");
        DateTime lastWriteTime = fileInfo.LastWriteTime;
        Console.WriteLine(lastWriteTime);
        MessageBox.Show("test" + lastWriteTime);

我想知道如何每 24 小时自动运行一次,因为我需要根据文件系统对超过 1 个文件夹的各种文件进行检查。

如何使其成为在后台运行的 Windows 服务。

最佳答案

一种可能的解决方案是创建一个如前所述的 Windows 服务。 TopShelf是一个开源项目,可以帮助您快速创建易于安装和卸载的 Windows 服务。文档有点稀疏,但使用该示例启动和运行相对容易。顺便说一句,我还想给你一些关于我从经验中学到的 FileSystemWatcher 的建议:你会想一次“观察”一两分钟,或者某个合理的间隔,然后重新创建观察者再次。如果底层文件系统从 FileSystemWatcher 下脱落,它不会知道。这会使 FileSystemWatcher 看起来“不起作用”。

关于c# - 使用 C# 如何确定服务器上的 excel 文件是否已更新。此检查需要每 24 小时执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995869/

相关文章:

c# - 如何访问另一个表单的表单控件?

c# - 如何在 Kestrel 中配置端点?

Excel 文件未在 Jupyter 实验室和 jupyter 笔记本中打开

vba - 在从 vba 创建的新工作簿中设置命名范围使它们成为本地范围而不是全局范围

excel - 仅当列标题包含特定文本时才使用 COUNTIF

c# - 在第三方库代码中中止执行的最安全方法

c# - 命令行自动化——期待等效

c# - 禁用保存文件对话框的文件名框

c# - 我如何计算使用 DateTime 已经过了多少时间?

c# - 无法退出应用程序