第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我如何安排C#Windows服務(wù)每天執(zhí)行一項(xiàng)任務(wù)?

我如何安排C#Windows服務(wù)每天執(zhí)行一項(xiàng)任務(wù)?

C#
慕村225694 2019-08-01 17:30:20
我如何安排C#Windows服務(wù)每天執(zhí)行一項(xiàng)任務(wù)?我有一個(gè)用C#(.NET 1.1)編寫的服務(wù),并希望它在每晚的午夜執(zhí)行一些清理操作。我必須保留服務(wù)中包含的所有代碼,那么最簡(jiǎn)單的方法是什么?使用Thread.Sleep()和檢查滾動(dòng)的時(shí)間?
查看完整描述

3 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

我實(shí)現(xiàn)這一目標(biāo)的方法是使用計(jì)時(shí)器。

運(yùn)行服務(wù)器計(jì)時(shí)器,讓它每60秒檢查一次/小時(shí)。

如果它是正確的小時(shí)/分鐘,那么運(yùn)行您的過程。

實(shí)際上,我把它抽象為一個(gè)我稱之為OnceADayRunner的基類。

讓我清理一下代碼,我會(huì)在這里發(fā)布。

    private void OnceADayRunnerTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        using (NDC.Push(GetType().Name))
        {
            try
            {
                log.DebugFormat("Checking if it's time to process at: {0}", e.SignalTime);
                log.DebugFormat("IsTestMode: {0}", IsTestMode);

                if ((e.SignalTime.Minute == MinuteToCheck && e.SignalTime.Hour == HourToCheck) || IsTestMode)
                {
                    log.InfoFormat("Processing at: Hour = {0} - Minute = {1}", e.SignalTime.Hour, e.SignalTime.Minute);
                    OnceADayTimer.Enabled = false;
                    OnceADayMethod();
                    OnceADayTimer.Enabled = true;

                    IsTestMode = false;
                }
                else
                {
                    log.DebugFormat("Not correct time at: Hour = {0} - Minute = {1}", e.SignalTime.Hour, e.SignalTime.Minute);
                }
            }
            catch (Exception ex)
            {
                OnceADayTimer.Enabled = true;
                log.Error(ex.ToString());
            }

            OnceADayTimer.Start();
        }
    }

該方法的優(yōu)點(diǎn)在于.SignalTime.Minute / Hour檢查。

那里有用于測(cè)試等的鉤子,但是這就是你的經(jīng)過時(shí)間計(jì)時(shí)器看起來(lái)像什么才能使它全部工作。


查看完整回答
反對(duì) 回復(fù) 2019-08-01
  • 3 回答
  • 0 關(guān)注
  • 1524 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)