代码之家  ›  专栏  ›  技术社区  ›  Kevin Buchan

有没有方法从网页调用httpmodule上的方法?

  •  0
  • Kevin Buchan  · 技术社区  · 14 年前

    我正在使用httpmodule在Web应用程序的后台做一些简单的工作。我使用的计时器与本文中描述的类似: Using an HTTPModule to run a Background Service.

    问题是,如果长时间没有人访问该站点,那么工作进程似乎永远不会自行终止。我认为问题在于,即使很明显没有更多的工作要做,计时器也不会停止。我可以阻止它,没问题,但我不知道一个确定何时重新启动的好方法。我想有一个方法,我可以从特定的页面调用,这将是这个过程的“开始”点。我想我可以,或者,监视beginrequest以使用某个URL作为触发器,但这感觉有些笨拙。

    我以为我在那儿有下面这条线,但有些地方不对劲,我想不出来。 DirectCast(System.Web.HttpModuleCollection.Item("TimerBasedHTTPModule"), TimerBasedHTTPModule).StartPolling()

    建议?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Kevin Buchan    14 年前

    我很亲近。

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

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