2013-07-17 139 views
0

我需要每隔15秒在後臺運行代碼,這對服務器沒有影響。繼續在後臺運行代碼ASP.NET

我有一個下面的拍賣數據樣本表。

-------------------------------------------------------------- 
AID   STARTDATE    ENDDATE 
------------------------------------------------------------- 
1    18-7-2013 12:00 PM  20-7-2013 12:00 PM 
2    19-7-2013 12:00 PM  21-7-2013 12:00 PM 
3    19-7-2013 01:00 PM  21-7-2013 12:00 PM 
4    19-7-2013 01:00 PM  22-7-2013 12:00 PM 

我需要檢查表中得到這是目前日期比開始日期的項目, 那麼我會通過Web請求獲取數據在本地數據庫是拍賣商店,這將是循環每15秒直到當前日期大於結束日期。 有些時間2拍賣同時開始,那麼我需要同時運行兩個線程。

對於當前正在運行拍賣模式並存儲在我們的數據庫中的所有項目,每15秒獲得更新的最佳方式是什麼?

在此先感謝...

回答

1

在ASP.NET/IIS中無法可靠地執行此操作。默認情況下,整個過程直到收到來自Web服務器的第一個請求才會啓動,然後整個過程在指定的不活動時間(通常爲20分鐘)後關閉。如果您需要每15秒運行一次進程,則必須每隔15秒從客戶端發起一次請求,最有可能使用某種JavaScript來執行請求。

最佳解決方案是使用獨立於網站的Windows服務更新您的拍賣數據庫。

0

你在哪裏託管你的網站?如果您位於您自己的服務器上,請創建一個cron作業,每15秒向您的後端發出一次請求。

如果您使用雲提供商(或沒有「雲」標語的提供商),他們可能會提供cron作業功能。但他們很少讓你實施15秒的間隔,如果它來自不同的網站,某些提供商可能會將其解釋爲DOS攻擊。