Windows 服务应用程序仅执行一次长时间运行的任务并在完成后自行停止

库梅尔贾瓦迪

我正在开发一个 Windows 服务应用程序,用于向客户发送批量电子邮件。就我而言,我需要通过传递一些参数的 ASP.Net MVC Web 应用程序手动启动和停止服务。由于这是按需进行的,并且没有针对此活动的时间表,我希望该服务仅执行一次长期运行的任务(向 10 万客户发送批量电子邮件),一旦启动,然后在完成后自行停止。

  1. 这种方法是否正确?
  2. 如果是,我如何跟踪它在 MVC 应用程序中的进度?

谢谢你,

萨瓦斯阿尔卑斯山

这种做法是不正确的。“Windows 服务”是一种等待某个客户端调用它或某个事件发生的应用程序。(在 Unix/Linux 行话中称为守护进程)

在您的情况下,“服务”应该是一个执行批处理的普通程序。因此,只需使用 Process.Start() 启动一个单独的进程。它不会阻止您的 ASP.NET MVC 应用程序中的任何内容,它只是完成其工作并终止。

有两种方法可以跟踪进度。您可以调用进程对象方法,如 WaitFor() 以查看它是否完成其工作。此外,您的“服务”应用程序可能会将其进度写入文件,MVC 应用程序可以随时读取它以查看发生了什么。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

长时间运行的后台任务完成后,应用程序未挂起

来自分类Dev

Windows服务仅执行一次

来自分类Dev

Windows 10 UWP 应用在长时间运行的任务上异步/等待使用

来自分类Dev

长时间运行的Windows服务占用内存

来自分类Dev

其他任务完成后,运行Windows Scheduler任务

来自分类Dev

其他任务完成后,运行Windows Scheduler任务

来自分类Dev

在Windows Store应用中实施长时间运行的过程

来自分类Dev

从Windows服务运行Windows应用程序

来自分类Dev

Windows任务计划程序-计划任务在另一个任务完成后运行15分钟

来自分类Dev

为Windows Phone 8.1加载页面后,长时间运行代码的最佳事件处理程序是什么?

来自分类Dev

在Windows Azure云应用程序中,第一次服务器调用比随后的调用花费更多的时间?

来自分类Dev

Windows Service完成后如何停止?

来自分类Dev

关于 WCF Windows 服务中长时间运行线程的担忧

来自分类Dev

如何使用异步编写具有长时间运行功能的 Windows 服务?

来自分类Dev

一次运行代码并退出无格式应用程序:Windows Forms或WPF ...这有关系吗?

来自分类Dev

Powershell查询Windows任务计划程序以了解将在特定日期时间之间运行的任务

来自分类Dev

长时间运行的命令完成后的桌面通知

来自分类Dev

长时间运行的命令完成后的桌面通知

来自分类Dev

如何仅显示一次时间页Windows Phone 8.1运行时

来自分类Dev

异步/等待或任务。在控制台应用程序/ Windows服务中运行

来自分类Dev

gulp.watch在Windows上仅运行一次

来自分类Dev

gulp.watch在Windows上仅运行一次

来自分类Dev

如何在C#Winforms应用程序中取消长时间运行的异步任务的执行

来自分类Dev

是否有必要至少启动一次Windows 8应用程序以启用后台任务和/或推送通知

来自分类Dev

WinForm应用程序停止运行并冻结Windows

来自分类Dev

ManualResetEvent会在一段时间后停止Windows服务中的套接字程序

来自分类Dev

Windows 2008 Server RemoteApp。与服务器断开连接后如何保持应用程序运行

来自分类Dev

错误地将Windows窗体应用程序发布到Windows Azure存储容器以进行一次单击部署

来自分类Dev

错误地将Windows窗体应用程序发布到Windows Azure存储容器以进行一次单击部署

Related 相关文章

  1. 1

    长时间运行的后台任务完成后,应用程序未挂起

  2. 2

    Windows服务仅执行一次

  3. 3

    Windows 10 UWP 应用在长时间运行的任务上异步/等待使用

  4. 4

    长时间运行的Windows服务占用内存

  5. 5

    其他任务完成后,运行Windows Scheduler任务

  6. 6

    其他任务完成后,运行Windows Scheduler任务

  7. 7

    在Windows Store应用中实施长时间运行的过程

  8. 8

    从Windows服务运行Windows应用程序

  9. 9

    Windows任务计划程序-计划任务在另一个任务完成后运行15分钟

  10. 10

    为Windows Phone 8.1加载页面后,长时间运行代码的最佳事件处理程序是什么?

  11. 11

    在Windows Azure云应用程序中,第一次服务器调用比随后的调用花费更多的时间?

  12. 12

    Windows Service完成后如何停止?

  13. 13

    关于 WCF Windows 服务中长时间运行线程的担忧

  14. 14

    如何使用异步编写具有长时间运行功能的 Windows 服务?

  15. 15

    一次运行代码并退出无格式应用程序:Windows Forms或WPF ...这有关系吗?

  16. 16

    Powershell查询Windows任务计划程序以了解将在特定日期时间之间运行的任务

  17. 17

    长时间运行的命令完成后的桌面通知

  18. 18

    长时间运行的命令完成后的桌面通知

  19. 19

    如何仅显示一次时间页Windows Phone 8.1运行时

  20. 20

    异步/等待或任务。在控制台应用程序/ Windows服务中运行

  21. 21

    gulp.watch在Windows上仅运行一次

  22. 22

    gulp.watch在Windows上仅运行一次

  23. 23

    如何在C#Winforms应用程序中取消长时间运行的异步任务的执行

  24. 24

    是否有必要至少启动一次Windows 8应用程序以启用后台任务和/或推送通知

  25. 25

    WinForm应用程序停止运行并冻结Windows

  26. 26

    ManualResetEvent会在一段时间后停止Windows服务中的套接字程序

  27. 27

    Windows 2008 Server RemoteApp。与服务器断开连接后如何保持应用程序运行

  28. 28

    错误地将Windows窗体应用程序发布到Windows Azure存储容器以进行一次单击部署

  29. 29

    错误地将Windows窗体应用程序发布到Windows Azure存储容器以进行一次单击部署

热门标签

归档