我必須實現一個應用程序來計算任務的時間。例如,用戶可以啓動和停止一個確定的任務,我必須知道他花費的時間。我可以存儲和計算開始和結束時間,但是我想知道是否有可能在C#中實現一個REST API,它有三種方法,以便我的應用程序可以使用Web服務「調用它」。以C#實現定時器Rest API的最佳方式
startTimer所():當用戶在一些應用按下啓動按鈕,這個API方法將被「稱爲」並且定時器開始計數。 4小時後,如果用戶沒有關閉任務(「StopTime()」方法不是「調用」),我想做「某事」。
CURRENTTIME():返回atual花費時間
停止時間():當用戶按下停止按鈕時,此API方法將被「稱爲」和定時器停止,返回計時器值
我做了一些研究,發現了一些關於System.Timers.Timer和System.Threading.Timer的信息。我想知道如果使用其中一種方法(對於這種情況最好是什麼?)可能是一種好方法,或者最好的方法是什麼?
這個任務對於REST來說並不是很好,REST是無狀態的,它意味着沒有關於以前請求的知識,當然你可以創建一個服務,靜態類或者任何你想要的東西,但它不是這樣一個理想的傳輸方式任務。另外,考慮可伸縮性,如果您的REST API有一天需要在集羣中進行平衡,除非您創建複雜的基礎結構(假設在服務器A中調用「開始」並在服務器B上調用「停止」),否則這種方式將無法工作。對於像這樣的任務,更好地使用類似WebSockets的東西,因爲它將在消費者使用API時保持連接。 – Gusman