2012-03-21 56 views
0

我正在创建一个Web应用程序,我需要让用户安排任务的执行。 我已经通过各种线程来安排任务,但他们都使用我不知道的Windows服务。此外,由于预算限制,我无法在服务器系统中安装Visual Studio。 有没有办法在asp.net应用程序中创建一个在后台线程中运行调度器的方法。任何代码示例都会有很大的帮助。需要安排一个方法在asp.net中的执行方式

+1

除了使用内置的Windows任务调度器来启动IE吗?您可以使用它来安排页面的执行。防爆。 \ iexplore.exe%1 kpcrash 2012-03-21 12:37:22

回答

1

这不是要走的路。如果您需要计划任务,则应创建一个控制台应用程序并使用Windows任务计划程序运行它。

您可以创建一个应用程序,向应用程序发送一封电子邮件,并附带一个指向应该完成任务的页面的链接。

+0

感谢您的回复,但我所做的实际上是对当前项目的增强。 因此,我当前的应用程序是一个Web应用程序,我需要从中安排任务 – 2012-03-21 12:44:25

+0

我刚刚在我的答案中添加了几行代码,但不幸在Web应用程序上创建计划任务并没有多大意义。 – 2012-03-21 12:49:21

1

有一点要明白的是,ASP.NET旨在为来自网络的请求提供服务。 它的一切都是为了这个。所以,是的,你可以运行后台任务,但有一些注意事项和疑难杂症。

例如,如果IIS在某段时间内没有收到任何请求,它将关闭您的ASP.NET应用程序。此外,如果您的应用程序检测到文件系统更改,则可能会在未发出警告的情况下重新启动。所以,运行代码将被中止。

这并不是说你无法解决这些问题,但它确实不适合计划任务执行。

最好的办法是将任务的详细信息存储在数据库中,然后使用一个始终运行的Windows服务(实际上并不困难,有很多示例)或控制台应用程序(如建议)安排手动定期运行,执行这些任务。

您可能会发现像Quartz.NET这样的库可能有助于调度/运行这些任务。

相关问题