一直以來,都以為 Windows 工作排程器(Task Scheduler)的重複工作間隔時間最小只能設到分鐘,無意中查到這篇文章,原來不是不行,是我不會。
2018-10-29
一直以來,都以為 Windows 工作排程器(Task Scheduler)的重複工作間隔時間最小只能設到分鐘,無意中查到這篇文章,原來不是不行,是我不會。
這個雷我踩了不下三次,寫下來記錄一下,C# 程式要取得當前目錄的方法我們下關鍵字搜尋可以搜出一堆解決方案,沒意外的話第一個搜尋結果通常是 Directory.GetCurrentDirectory 方法(System.IO) - MSDN - Microsoft,但是這個方法在程式是由 Windows 工作排程器(Task Scheduler)啟動的狀況下就不 Work 了。
TaskCompletionSource 這個玩意兒是我在 InAppBillingPlugin 這個 GitHub 儲存庫發現的,查了一下 MSDN 它說「代表未與委派繫結之 Task<TResult> 的生產者端,可提供透過 Task 屬性對消費者端的存取。」?????? 它在說什麼?我們來舉個例子。
Task 是從 .NET 4.0 開始就有的東西,用它來取代傳統的 Thread、ThreadPool 還挺便捷的,但有時候有一些有時效性的 Task,當它執行超過我們規定的時間時我們需要知道,Task.Wait()
可以帶入 millisecondsTimeout
參數,不過它是同步的。
我們時常在原始碼內下 TODO, FIX, TEST, DEBUG...等等,一些等待我們去處理的註解,但是人的記憶是有限的,有時候會忘記要做這些事,Task Scanner 可以幫我們掃瞄原始碼中有這些字眼的地方,把它們抓出來變成一個一個的 Task。