2011-05-01 142 views
0

任何人知道如何在C#中添加倒數計時器倒數計時器C#

例:

我有開始時間是5/2/2011爲10:00:00 am並設置靜態持續時間7天

所以....在剩餘時間將是6天12:00小時直到它達到零。在結束 - >2011年5月9日上午10時00分00秒

注:剩下的時間不能復位,並重新開始..它僅在開始時間

取決於

我不知道如何做到這一點..任何幫助,我將不勝感激。

+2

? 7天? – gsharp 2011-05-01 22:06:21

+1

ASP.Net運行時將回收應用程序池,所以沒有任何東西應該放置7天而不會嚴重影響其他事情。建議也許看一下Windows Workflow Foundation,它是爲考慮到更長時間運行的任務而設計的。你可以在ASP.Net中託管WF,但它會持續它的狀態,直到恢復書籤,所以它不會一次損壞服務器7天。 – RichardW1001 2011-05-01 22:30:48

+0

你究竟在做什麼?內存倒計時真的是最好的方法嗎?爲什麼不以某種形式堅持日期時間值,然後在需要時與當前時間進行比較? – RichardW1001 2011-05-01 22:31:57

回答

1

您需要永久性存儲(在硬盤上),如註冊表,數據庫或XML文件,因爲在ASP.NET中的內存代碼中不保證任何時間跨度大於〜24h。

如果您重置應用程序,您需要從某處(永久存儲)獲取start point。通常,當客戶端沒有請求時,您的應用程序將在沒有通知的情況下被卸載(您將釋放內存中的數據)。還有基於IIS中某些配置的ASP.NET recycles應用程序(您正在爲您的應用程序使用的應用程序池)。

.NET 4.0包括新的System.Threading.CountdownEvent類,您可能會發現有幫助。

0

7天定時器在asp.net頁面?

也許你的做法是錯誤的。你可以使用winforms並將應用程序作爲服務來安裝嗎?

我想如果它必須是一個網頁,在JavaScript中執行計時器(也許使用JQuery),當它完成後,通過JQuery做你想做的事情。 I.E.調用你的服務器端方法,或者其他什麼。

如果你有這個技術方面的麻煩: jQuery countdown timer

在asp.net