2010-02-04 82 views
0

我正在使用HTTPModule在Web应用程序的后台执行一些简单的工作。我正在使用类似于本文中描述的计时器:Using an HTTPModule to run a Background Service.有没有办法从网页上调用HTTPModule的方法?

问题是,工作进程似乎永远不会自行终止,如果没有人长时间访问站点。我认为问题在于,即使很清楚没有其他工作要做,计时器也不会停止。我可以阻止它,没问题,但我不知道确切知道何时重新启动它的好方法。我希望有一种方法可以从特定页面调用,这将成为此过程的“启动”点。我想我可以或者监视BeginRequest的某个URL来作为触发器,但是这感觉很糟糕。

我以为我在那儿有类似下面这行的东西,但有些东西是不对的,我无法弄清楚。 DirectCast(System.Web.HttpModuleCollection.Item("TimerBasedHTTPModule"), TimerBasedHTTPModule).StartPolling()

建议?

回答

0

我很接近。

在我的特殊情况,这是我需要的代码:

DirectCast(HttpContext.Current.ApplicationInstance.Modules.Item("TimerBasedHTTPModule"), TimerBasedHTTPModule).StartPolling()

相关问题