簡體   English   中英

在后台ASP.NET中繼續運行代碼

[英]Continue running code in background ASP.NET

我需要每15秒在后台運行一次代碼,這對服務器沒有影響。

我在下面的樣本表中有拍賣數據。

--------------------------------------------------------------
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秒更新一次的最佳方法是什么?

先感謝您...

您不能在ASP.NET/IIS中可靠地做到這一點。 默認情況下,整個過程直到收到Web服務器的第一個請求才開始,然后在指定的不活動時間(通常為20分鍾)后關閉。 如果您需要一個進程每15秒運行一次,則必須每15秒從客戶端發出一個請求,最有可能使用某種JavaScript來執行請求。

最好的解決方案是使用與網站分開的Windows服務來更新您的拍賣數據庫。

您在哪里托管您的網站? 如果您在自己的服務器上,請創建一個cron作業,該作業每15秒向您的后端發出一次請求。

如果您使用的是雲提供程序(或沒有“雲”流行語的提供程序),則它們可能提供cron作業功能。 但是它們很少讓您實現15秒的間隔,如果間隔來自另一個站點,則某些提供程序可能會將其解釋為DOS攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM