我正在开发一个 Windows 服务应用程序,用于向客户发送批量电子邮件。就我而言,我需要通过传递一些参数的 ASP.Net MVC Web 应用程序手动启动和停止服务。由于这是按需进行的,并且没有针对此活动的时间表,我希望该服务仅执行一次长期运行的任务(向 10 万客户发送批量电子邮件),一旦启动,然后在完成后自行停止。
谢谢你,
这种做法是不正确的。“Windows 服务”是一种等待某个客户端调用它或某个事件发生的应用程序。(在 Unix/Linux 行话中称为守护进程)
在您的情况下,“服务”应该是一个执行批处理的普通程序。因此,只需使用 Process.Start() 启动一个单独的进程。它不会阻止您的 ASP.NET MVC 应用程序中的任何内容,它只是完成其工作并终止。
有两种方法可以跟踪进度。您可以调用进程对象方法,如 WaitFor() 以查看它是否完成其工作。此外,您的“服务”应用程序可能会将其进度写入文件,MVC 应用程序可以随时读取它以查看发生了什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句