4

每 x 分钟执行 Global.asax 文件中的方法的最有效方法是什么?有没有办法让 ASP.NET 服务器运行一个后台线程,该线程在一段时间后触发一个滴答事件?

4

3 回答 3

10

您可以在 Global.asax 的 Application_Start 中有一个计时器,但这不是很灵活,因为您需要向应用程序发出请求以启动计时器。但是,按照 Haacked 的详细说明,这样做是有危险的:

一个更好的方法是有一个 Web 服务作为 ASP.NET 应用程序的接口,并有一个 Windows 服务在预定的时间间隔调用你的 Web 服务:

更多细节在这里:

于 2012-07-06T01:52:51.423 回答
0

您可以结合使用 HTTPModule 和 ASP.NET TIMER 来执行此操作

http://technico.qnownow.com/2012/04/06/create-custom-http-module-to-periodically-refresh-cache-or-some-other-work/

(或者)

您可以使用 AJAX Timer 控件。

http://technico.qnownow.com/2012/06/12/refresh-gridview-intervals-using-ajax-timer/

于 2012-07-08T02:02:57.870 回答
-1

将一个System.Timers.Timer对象Application_Start ()放入Global.asax.

http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx

于 2012-07-06T01:46:17.160 回答