我想在服务器端定期运行一个由ASP.NET方案中的服务器启动的事件。客户没有要求。
非常感谢您的帮助。
答案 0 :(得分:1)
假设您可以访问服务器并可以安装外部应用程序,您可以创建一个独立的Windows Service甚至是由内置Windows Task Scheduler触发的控制台应用程序。
对于在Asp.Net中运行的内容,您可以使用Quartz.net。 This如此问题解释了如何将其与Asp.Net一起使用
答案 1 :(得分:0)
您需要使用Process类生成进程。这个过程会一直睡到复发时间。
Process p = new Process();
p.StartInfo.FileName = "foo";
p.Start();
另一种方法是使用Thread类假脱机线程。
答案 2 :(得分:0)
对于某些应用程序中的类似情况,我使用单独的服务(Windows服务/ Web服务)并使用System.Threading.Timer
(请参阅http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx)并实现我自己的调度程序。或者,您可以使用任何基于服务器的标准调度程序来调用某些可执行文件,而这些可执行文件又会命中您的服务。
答案 3 :(得分:0)
我只想创建一个标准的命令行可执行文件,并使用Windows Scheduling Tool运行它。 如果它以非常短的间隔运行,那么Windows服务就没问题,但是例如每天一次的任务,我认为这是错误的方法。
答案 4 :(得分:0)
该框架是为这类事情构建的,例如状态持久性等。它也是独立运行的,因此当您的应用程序(池)关闭时(默认情况下由于IIS),该过程不会停止。
与asp.net完全整合,你可能最终(以积极的方式)使用Delay Activity。