亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

windows服務問題(超高手進)

windows服務問題(超高手進)

慕沐林林 2018-07-24 15:20:37
private bool isrun;protected override void OnStart(string[] args)     {          isrun =true;          while (isrun)            {                try                {                        StreamWriter sw = File.AppendText(@"d:\myserver.txt");                        sw.WriteLine(string.Format("服務啟動,啟動時間{0}", DateTime.Now));                    }                }                catch (Exception ex)                {                    WirteWinLog(ex);                }                System.Threading.Thread.Sleep(10*1000);            }        }        protected override void OnStop()        {            isrun=false;            StreamWriter sw = File.AppendText(@"d:\myserver.txt");            sw.WriteLine(string.Format("服務停止,啟動時間{0}", DateTime.Now));            sw.Close();        }為什么服務發布后無法停止呢????
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

因為 你的service 永遠不會從 onstart method里退出.  一直在while loop里 運行,  onstop 沒有機會執行。

你可以用一個 backgroundWorker,  onstart 里 初始化worker,   工作在 worker 里做,  onstop把worker停止。


查看完整回答
反對 回復 2018-07-30
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

把你的isrun設置為靜態的試試。

查看完整回答
反對 回復 2018-07-30
  • 2 回答
  • 0 關注
  • 1220 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號