【发布时间】:2016-04-12 17:03:57
【问题描述】:
我正在开发一个应用程序,它将检查某些文件是否已被修改并发送一封 Outlook 电子邮件通知用户上述更改。我们想安排任务每 24 小时运行一次。我在这里了解如何使用 Windows 任务计划程序执行此操作:http://windows.microsoft.com/en-in/windows/schedule-task#1TC=windows-7
我也研究过使用Windows service,但用户希望能够指定某些文件夹来检查和修改报告发送到的电子邮件地址,我不确定如何在服务中执行此操作.
我创建了一个表单,用于在应用程序的用户范围内存储文件路径和电子邮件地址。但是,如果我安排任务,它将打开表单。我希望仅在用户提示时打开表单(通过单击 .exe。)。该应用程序将始终根据最新设置每 24 小时运行一次(在后台)。
我可以创建一个表单应用程序并让服务调用用户设置吗?我是服务新手,不知道该往哪个方向发展。
我已经研究了这些:
Best way to run scheduled tasks
how to use windows service in windows form application
一些说明
我需要应用程序每 24 小时在后台运行一次(检查文件 + 发送电子邮件报告),而无需打开任何表单。
我需要能够手动打开表单以随时更新设置。
【问题讨论】:
-
Tony 建议使用命令行参数似乎是合理的,我不会称其为 hack。另一种可能性是使用调度程序在指定用户下运行程序,程序可以以某种方式检查它正在以什么用户身份运行。
-
另一种可能是将后台部分编写为 Windows 服务,然后使 UI 成为一个单独的程序。
-
@user34660 是的,这是我所希望的,但除了我发布的最后一个链接之外,我找不到任何文档。
-
对不起,我发了两个cmets。您指的是关于 Windows 服务的那个还是关于检查它以什么用户身份运行的那个?除非有超出您的问题的内容,否则您不需要 WCF,并且有很多关于编写 Windows 服务的文章。
标签: .net wcf windows-services