2010-02-04 108 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()

相關問題