我正在寻找关于我正在构建的这个小系统的整体架构的一些指导。构建应用程序以定期在服务器上执行任务
目前,我有一个应用程序,通过xcopy部署(和更新)到几个服务器。这适用于更新代码,但它不适用于更新代码执行的周期,因为它设置为每小时运行一次的Windows计划任务。 xcopy替换效果很好,因为我可以从本地机器运行更新,并将新的exe文件推送到所有服务器。接下来的一个小时,任务调度器将运行新的exe。
我想改变它以这种方式工作。
我的应用程序作为Windows服务运行,并使用System.Threading.Timer等待给定的持续时间,然后执行代码。这样,进程的一部分可以检查数据库,并在必要时减少给定服务器的执行时间。
问题在那里,是因为.exe将作为服务运行,它不会允许通过xcopy轻松更新,因为该文件将始终处于使用状态。
有关我应该如何设置这个以便能够在作为Windows服务运行时轻松执行xcopy更新的想法?这甚至可能吗?
我正在从本地机器运行我当前的xcopy批处理文件,并将更新从我的机器推送到许多服务器。我想避免从服务器本身运行任何东西。 – Nate 2010-07-12 22:28:07
除了'net stop'外,您可以使用'sc'在远程机器上启动/停止服务。 – 2010-07-12 23:14:17
这意味着运行批处理文件的用户需要权限才能停止服务器上的服务,对不对?所以我需要一个活动目录帐户? – Nate 2010-07-13 03:11:54