国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

VS2013創(chuàng)建Windows服務(wù)與調(diào)試服務(wù)的圖文方法

2019-10-29 21:13:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、創(chuàng)建Windows服務(wù)

VS2013,Windows服務(wù),調(diào)試服務(wù)

VS2013,Windows服務(wù),調(diào)試服務(wù)

 

VS2013,Windows服務(wù),調(diào)試服務(wù)

說(shuō)明:

a)Description 服務(wù)描述,直接顯示到Windows服務(wù)列表中的描述;

b)DisplayName 服務(wù)顯示名稱(chēng),直接顯示到Windows服務(wù)列表中的名稱(chēng);

c)ServiceName 服務(wù)進(jìn)程名稱(chēng),安裝與卸載服務(wù)時(shí)的唯一標(biāo)識(shí)。

VS2013,Windows服務(wù),調(diào)試服務(wù)

單擊“serviceProcessInstaller1”,在其屬性窗口中設(shè)置Account帳號(hào)方式,建議為L(zhǎng)ocalService(當(dāng)然也可以Account屬性改為 LocalSystem,這樣,不論是以哪個(gè)用戶(hù)登錄的系統(tǒng),服務(wù)總會(huì)啟動(dòng))。

編寫(xiě)安裝和卸載腳本,并將放在bin/debug或bin/Release文件夾下。

安裝腳本

%SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe %~dp0exe程序的名稱(chēng).exeNet Start 服務(wù)名稱(chēng)sc config 服務(wù)名稱(chēng) start= autopause

這里注意,在exe程序的名稱(chēng)前面有 %~dp0 這是代表當(dāng)前位置

服務(wù)名稱(chēng) 對(duì)應(yīng) 上面我們創(chuàng)建服務(wù)時(shí)ServerName的名稱(chēng)

卸載腳本

%SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe /u %~dp0exe程序的名稱(chēng).exepause

同時(shí)還要注意一下,本人用的.NET4.0的版本,所以/Microsoft.NET/Framework/v4.0.30319/installutil.exe 這一段要根據(jù)你機(jī)器安裝.NET的版本來(lái)定。

其實(shí)腳本主要是通過(guò)installutil.exe 來(lái)進(jìn)行安裝和卸載服務(wù)的,同時(shí)此處涉及的批處理命令不多。

2、調(diào)試windows服務(wù)

在項(xiàng)目中不用啟動(dòng)windows服務(wù)項(xiàng)目,而是直接附加進(jìn)程來(lái)進(jìn)行調(diào)試。

VS2013,Windows服務(wù),調(diào)試服務(wù)

 

VS2013,Windows服務(wù),調(diào)試服務(wù)

在可用進(jìn)程中,查找到你剛才通過(guò)腳本安裝的服務(wù)就可以了。

再發(fā)一個(gè)寫(xiě)入服務(wù)代碼的Demo

public partial class MMSServer : ServiceBase  {    private Timer time = new Timer();    public MMSServer()    {      InitializeComponent();    }    protected override void OnStart(string[] args)    {#if DEBUG      if (!Debugger.IsAttached)        Debugger.Launch();      Debugger.Break();#endif      WriteLog("服務(wù)啟動(dòng),時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n");      time.Elapsed += new ElapsedEventHandler(MethodEvent);      time.Interval = 3 * 1000;      time.Start();    }    protected override void OnPause()    {#if DEBUG      if (!Debugger.IsAttached)        Debugger.Launch();      Debugger.Break();#endif      WriteLog("服務(wù)暫停,時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n");      base.OnPause();    }    protected override void OnContinue()    {#if DEBUG      if (!Debugger.IsAttached)        Debugger.Launch();      Debugger.Break();#endif      WriteLog("服務(wù)恢復(fù),時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n");      base.OnContinue();    }    protected override void OnShutdown()    {      WriteLog("計(jì)算機(jī)關(guān)閉,時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n");      base.OnShutdown();    }    private void MethodEvent(object source, System.Timers.ElapsedEventArgs e)    {      time.Enabled = false;      string result = string.Empty;      try      {        //.........        result = "執(zhí)行成功,時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n";      }      catch (Exception ex)      {        result = "執(zhí)行失敗,原因:" + ex.Message + "/r/n";      }      finally      {        WriteLog(result);        time.Enabled = true;      }    }    protected override void OnStop()    {#if DEBUG      if (!Debugger.IsAttached)        Debugger.Launch();      Debugger.Break();#endif      WriteLog("服務(wù)停止,時(shí)間:" + DateTime.Now.ToString("HH:mm:ss") + "/r/n");    }    /// <summary>    /// 日志記錄    /// </summary>    /// <param name="logInfo"></param>    private void WriteLog(string logInfo)    {      try      {        string logDirectory = AppDomain.CurrentDomain.BaseDirectory + "//Logs";        if (!Directory.Exists(logDirectory))        {          Directory.CreateDirectory(logDirectory);        }        string filePath = logDirectory + "//" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";        File.AppendAllText(filePath, logInfo);      }      catch      {      }    }  }

以上就是關(guān)于VS2013創(chuàng)建Windows服務(wù)與調(diào)試服務(wù)的全部?jī)?nèi)容了,希望大家以后多多支持VEVB武林網(wǎng)

 

注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到c#教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁远县| 甘孜县| 手机| 巴马| 临夏市| 房山区| 博爱县| 毕节市| 永安市| 铁岭市| 商洛市| 蓝田县| 浦北县| 阳朔县| 中宁县| 中江县| 永吉县| 华阴市| 辽宁省| 左贡县| 丹凤县| 贵德县| 商洛市| 灵山县| 高邮市| 苏尼特左旗| 开鲁县| 静乐县| 馆陶县| 凭祥市| 高平市| 随州市| 仪征市| 南昌县| 凌源市| 开鲁县| 延安市| 汤阴县| 福州市| 丰城市| 嘉善县|