2014-02-09 66 views
1

所以我一直在尋找一種方式來做到這一點,但沒有成功。 我正在做一個MVC5項目。 我試圖得到一個方法,做一些特別的,在我的程序的背景下每10分鐘重複運行(該方法從其他網站獲取信息並將它們放入數據庫)。可重複的背景方法

我會喜歡一些通過鏈接的例子,或者一些有效的方法。

+2

您應該在主機上將其作爲獨立的Windows服務運行。 – Fals

+1

...或者創建一個.exe文件並運行預定任務。 – MikeSmithDev

+0

你在哪裏部署你的應用程序? Azure的?在前提下? –

回答

1

嘗試在後臺工作中綁定這樣的IIS線程並不是一個好主意。更好的選擇是讓一個單獨的過程完成工作,例如Windows服務。但是,如果您受限於以下選項,則可以使用:

  • 創建簡單的控制檯應用程序來完成該工作,並設置Windows Scheduled Task以10分鐘的時間間隔運行它。 (這假定您可以在部署設置中執行此操作)
  • 如果一切都失敗,請在執行任務的控制器上創建常規操作方法。該任務將在URL被擊中時執行...因此,通過CRON作業(通常由您的託管提供商提供)每10分鐘打一次該URL。

不是你的典型選擇,但我覺得他們可能對你很實際。

0

如何使用定時事件。

var timer = new System.Timers.Timer(600,000); 
timer.elapsed += (sender, e) => { /*fetch data*/ }; 
+1

而且這個工作很好,直到這個進程從IIS運行庫中被回收,就在這個過程中。偉大的提示。 – TomTom