日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

c# 编写windows 服务,并制作安装包

發布時間:2023/12/15 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 c# 编写windows 服务,并制作安装包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  對服務的認識有很多個階段。

  第一階段:當時還在用c++,知道在一個進程里while(True){},然后里面做很多很多事情,這就叫做服務了,界面可能當時還用Console控制臺程序。

  第二階段:知道了服務要在后臺執行,一般不會有界面顯示,并且開機自啟動,于是隱藏Console控制臺界面,并且通過使用SC CREATE 將exe變為服務,并且達到開機自啟動的目的。這時候還是c++ 階段。

  第三階段:因項目需求接觸c#,發現有個叫項目模板專門制作windows 服務,嘗試了下,感覺還不錯,省事了許多。通過命令行安裝服務。

  第四階段:發現了一個好東西可以制作安裝包,省去了敲命令行的痛苦,對實施人員來說肯定是個福音

一,編寫windwos 服務

  c# 編寫windows 服務還算是相當簡單的,至少比c++ 要簡單。

  1,新建項目windows 服務。填寫服務名稱TestService

  創建成功,項目界面是這樣的

  2,編寫服務代碼,右鍵TestService,查看代碼OnStart,編寫啟動代碼 。OnStop編寫停止代碼

namespace TestService
{
    public partial class TestService : ServiceBase
    {
        FileStream fs = null;
        StreamWriter sw = null;
        Thread td = null;
        public TestService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            td = new Thread(WorkThread);
            td.Start();
        }
        protected void WorkThread()
        {
            fs = new FileStream(@"f://ggg.txt", FileMode.OpenOrCreate, FileAccess.Write);
            sw = new StreamWriter(fs);
            while (true)
            {
               
                sw.WriteLine(DateTime.Now.ToString());
                sw.Flush();
                
                Thread.Sleep(2000);
            }
        }

        protected override void OnStop()
        {
            if(td != null)
            {
                td.Abort();
            }
            sw.Close();
            fs.Close();
            
        }
    }
}

  3,雙擊TestService.cs,在右邊空白處右鍵添加安裝程序 ,會出現這樣兩個東西,點擊serviceInstall1 修改服務的名字,以及啟動類型。點擊serviceProcessinstall1,改變Account 為LocalSystem.

  4,OK 大功告成,一個簡單的服務已經完成了。接下來,我們測試該服務是否能夠正常跑。右鍵管理員打開命令提示框,數據 installutil TestService(服務名稱) 進行安裝服務,順利的話,會有下面的提示完成的字符。這時會看到F盤忽悠ggg.txt 在寫文件。

  二、制作安裝包

  開始制作安裝包,我們不能每次把這個服務拿出去都用命令行去安裝,不太友好。右鍵解決方案,在其他類型點擊安裝部署,如果發現沒有安裝,就先去安裝這個工具,很簡單,VSI_bundle.exe 只有5M大小。

  在應用程序文件夾上右鍵添加項目輸出。

  右鍵工程-》視圖-》添加自定義操作-》右鍵添加自定義操作

  這個時候,重新編譯Setup 工程就會生成setup.exe,該exe 就是我們的服務安裝包。到此,整個服務編寫打包就已經完成。

  good luck

總結

以上是生活随笔為你收集整理的c# 编写windows 服务,并制作安装包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。