我目前正在进行一个项目,该项目是创建一个 Windows 服务,该服务实质上是围绕多个路径移动文件。一项工作可能是每 60 秒从 FTP 服务器获取与正则表达式匹配的所有文件并将它们传输到网络路径,等等。这些作业存储在 SQL 数据库中。
目前,该服务采用控制台应用程序的形式,以方便开发。作业是使用 ASP.NET 页面添加的,并且可以使用另一个 ASP.NET 页面进行编辑。
我有一些问题,一些与 Quartz.NET 和一些一般问题有关。
石英网:
1:这是我最大的问题。看到我暂时将应用程序开发为控制台应用程序,我不得不在我的所有文件/页面上创建一个新的 Quartz.NET 调度程序。这会导致多个令人困惑的错误,但我只是不知道如何在一个全局文件中启动调度程序,并在我的 ASP.NET 页面中访问这些(例如,我可以将详细信息放入网格视图进行编辑)
2:我的经理建议我可以考虑在 Quartz.NET 中拥有多个“配置”。我的意思是,在任何给定时间,管理员都可以更改应用程序配置,以便仅运行特定选择的应用程序。在 Quartz.NET 中最简单的方法是什么?
一般的:
1:在此应用程序中至关重要的一件事是确保文件已被移动并且它实际上在目标路径上(移动后原始文件被删除,因此如果文件没有被删除,那将是灾难性的实际上被复制了!)。我还需要确保文件内容与初始路径和目标路径匹配,以确保复制的内容是正确的。我目前正在通过 MD5 散列初始文件、复制文件并在删除它之前确保该文件存在于服务器上来执行此操作。然后我在服务器上散列文件并确保散列匹配。有没有更简单的方法来做到这一点?我担心散列可能会给系统带来压力。
2:这与上述问题有关,但并不重要,甚至我的经理也不知道我将如何做到这一点,但我很想实现这一点。如果在写入文件时执行作业会出现问题,这可能是一半写入的文件将被传输,从而使其完全无用,并且由于初始文件会被破坏而这也会很糟糕它正在被写入!有没有办法检查这个?