public class SmartCardLite
{
// 讀取健保卡基本資料
public static void ManualSmartCardDetection()
{
...
}
private static BackgroundWorker _worker;
public static void StartAutoSmartCardDetection()
{
_worker = new BackgroundWorker();
_worker.WorkerSupportsCancellation = true;
_worker.DoWork += WaitChangeStatus;
_worker.RunWorkerAsync();
}
public static void StopAutoSmartCardDetection()
{
_worker.CancelAsync();
_worker.Dispose();
}
private static void WaitChangeStatus(object sender, DoWorkEventArgs e)
{
BackgroundWorker bwAsync = sender as BackgroundWorker;
while (!bwAsync.CancellationPending)
{
ManualSmartCardDetection();
Thread.Sleep(5000);
}
}
}
2014年9月28日 星期日
診間報到系統-2(BackgroundWorker)
由於我們報到系統的USB延長線有10米長,很容易就需要重新插拔USB接頭,間接daemon的程式就很容易死掉。所以,打算改寫daemon的程式,希望能多一些錯誤控制但又不想用timer去寫程式(內心覺得有點low ~ 哈)。最後,用BackgroundWorker模擬像是daemon的運作方式 ~
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言