c#編寫 windows 服務

来源:http://www.cnblogs.com/shouce/archive/2016/02/24/5211731.html
-Advertisement-
Play Games

用c#編寫window服務常見的幾個事件 protected int i = 0; public Service1() { InitializeComponent(); } //啟動服務時執行 protected override void OnStart(string[] args) { //使時


用c#編寫window服務常見的幾個事件

protected int i = 0;
        public Service1()
        {
            InitializeComponent();
        }

        //啟動服務時執行
        protected override void OnStart(string[] args)
        {
            //使時間控制項生效 並且1秒鐘調用一次timer1_Elapsed() 方法 
            this.timer1.Enabled = true;
            this.timer1.Interval = 1000;
        }

        //停止服務時執行 
        protected override void OnStop()
        {
        }

        //暫停服務時執行

        protected override void OnPause()
        {
            base.OnPause();
        }

        //繼續服務時執行 
        protected override void OnContinue()
        {

        }

        //此方法間隔一定時間就會運行一次 
        private void timer1_Elapsed(object sender, ElapsedEventArgs e)
        {
            //在此添加您們需要的功能代碼, 我在此添加檢測計劃是否需要執行
            i++;
            System.IO.File.AppendAllText("d:\\1.txt","s"+i);
        }

 

   編寫完服務以後 :

   1. 打開Visual Studio .NET命令提示
  2. 改變路徑到你項目所在的bin\Debug文件夾位置(如果你以Release模式編譯則在bin\Release文件夾)
  3. 執行命令“InstallUtil.exe MyWindowsService.exe”註冊這個服務,使它建立一個合適的註冊項。
  4. 右擊桌面上“我的電腦”,選擇“管理”就可以打電腦管理控制台
  5. 在“服務和應用程式”裡面的“服務”部分里,你可以發現你的Windows服務已經包含在服務列表當中了
  6. 右擊你的服務選擇啟動就可以啟動你的服務了

 

1:在解決方案中,訪問要向其中添加安裝組件的服務的Design視圖。

2:在屬性視窗中,單擊添加安裝程式鏈接

這時項目中就添加了一個新類 ProjectInstaller 和兩個安裝組件 ServiceProcessInstaller 和 ServiceInstaller,並且服務的屬性值被覆制到組件。

3:若要確定如何啟動服務,請單擊 ServiceInstaller 組件並將 StartType 屬性設置為適當的值。

ü Manual 服務安裝後,必須手動啟動。

ü Automatic 每次電腦重新啟動時,服務都會自動啟動。

ü Disabled 服務無法啟動。

4:將serviceProcessInstaller類的Account屬性改為 LocalSystem

這樣,不論是以哪個用戶登錄的系統,服務總會啟動。
第四步:生成服務程式

通過從生成菜單中選擇生成來生成項目。

註意 不要通過按 F5 鍵來運行項目——不能以這種方式運行服務項目。

第五步:安裝服務

訪問項目中的已編譯可執行文件所在的目錄。
用項目的輸出作為參數,從命令行運行 InstallUtil.exe。在命令行中輸入下列代碼:
installutil yourproject.exe
卸載服務
用項目的輸出作為參數,從命令行運行 InstallUtil.exe。
installutil /u yourproject.exe

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 算起來也看過博客園好久了,都沒寫過一篇博客。現在要走了,先寫一篇博客回顧一些我的這職業生涯,以後多寫寫平時工作的時候的技術,否則全忘了。以前一直感覺這網站太醜,都不想上這網站。不過後來習慣了感覺還挺帶感的哈哈。 終於要離開這個公司了,其實早就應該走的,只不過不捨這個公司的朋友,那麼可愛的一群人,跟同
  • LZ菜鳥,僅整理筆記,順帶記錄一下,謂之增加印象。 LZ認為,沒必要太糾結原理,模型, 屌絲能用就對了,剩下的事情用多了自然會去探索。 中文:正則表達式,英文:Regular ExPression,也叫匹配模式(pattern),用來檢驗字元串是否滿足特定的規則,或從字元串捕獲滿足特定規則的子串。
  • 以下程式的輸出結果是( )。 using System; namespace HoverTreeTikuConsole { class Program { static void Main(string[] args) { MyStruct s1 = new MyStruct(1, 2); s1.x
  • Cactus基於之前簡單後臺管理的改良版本,完善了許可權管理,為後續的擴展和管理做了鋪墊。 完全開放代碼,可供學習交流 目前採用ASP.NET MVC4+Dapper+Autofac(反轉數據服務的映射)。 通過修改配置可以切換數據源(目前有支持mysql,mssql,sqlite三種資料庫)。 DB
  • 很多情況下,我們需要把數據類型做一些轉換,供其它外部的子系統調用。 最為典型的是生成json格式供javascript作調用。 現成的組件Newtonsoft.Json可以實現object2json之間的轉換。 Newtonsoft.Json.JavaScriptConvert.SerializeO
  • http://www.codeproject.com/Tips/1080310/Csharp-Binary-Literal-Helper-Class C#目前不支持二進位數據直接賦值 int bits=0b00010101; 如果可以直接賦值,那麼在按位運算的時候將會帶來很大的方便,所以你可以通過這
  • 很驚訝昨晚寫的第一篇學習筆記竟然有個評論了,只是今天還是對基礎知識提不起精神,還是先看那三本書瞭解一下程式開發的大概流程吧。 今天不知道怎麼閑逛就找到了這個網站,說是專門用於編程練習的,用google賬戶就能夠登錄,簡單整理了一下免費版可以直接使用的!如下表: 編程語言 開源項目 代碼行數 源程式
  • 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於採用伺服器端保持狀態的方案在客戶端也需要保存一個標識,所以session機制可能需要藉助於cookie機制來達到保存標識的目的,但實際上它還有其他選擇。 cookie機制
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...