<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 828870
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    轉自:http://www.csharpwin.com/csharpspace/5575r154.shtml

    1、新建C# Windows服務:windows service工程

    新建windows service工程

        2、新建windows service工程后,系統自動生成一個Service1.cs文件,默認是其設計視圖。選擇查看其代碼,默認有構造函數、OnStart、OnStop三個函數,如下圖所示:

    設計視圖 

       3、新建了C# Windows服務之后,還要設置該服務運行的周期,左側的ToolBox中有兩個timmer,一個在組件下,一個在windows form下,可惜這兩個都不能用,我們要手工新建一個timmer,并設置其屬性和事件。

    1. public WindowsServiceDemo()   
    2.         {   
    3.             InitializeComponent();   
    4.             System.Timers.Timer t = new System.Timers.Timer(1000);//實例化Timer類,設置間隔時間為10000毫秒;    
    5.             t.Elapsed += new System.Timers.ElapsedEventHandler(TimeElapse);//到達時間的時候執行事件;    
    6.             t.AutoReset = true;//設置是執行一次(false)還是一直執行(true);    
    7.             t.Enabled = true;//是否執行System.Timers.Timer.Elapsed事件;   
    8.         }   
    9.  
    10.  
    11. public void TimeElapse(object source, System.Timers.ElapsedEventArgs e)   
    12.         {   
    13.             //EventLog log = new EventLog();   
    14.             //log.Source = "我的應用程序";   
    15.             //log.WriteEntry("1秒調用一次", EventLogEntryType.Information);   
    16.             FileStream fs = new FileStream(@"d:\timetick.txt", FileMode.OpenOrCreate, FileAccess.Write);   
    17.             StreamWriter m_streamWriter = new StreamWriter(fs);   
    18.             m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);   
    19.             m_streamWriter.WriteLine("過了一秒 " + DateTime.Now.ToString() + "\n");   
    20.             m_streamWriter.Flush();   
    21.             m_streamWriter.Close();   
    22.             fs.Close();   
    23.     
    24.         }  

       4、服務編寫之后,還不能由SCM(服務控制管理器)進行管理,需要給該服務添加裝載器。在Service1.cs的設計視圖,點擊右鍵,選擇“添加裝載器”,系統默認就會添加ProjectInstaller.cs這個類。

    Service1.cs的設計視圖  

        5、添加該類后,在該類的設計視圖上可看到serviceInstaller1和serviceProcessInstaller1,分別設置其屬性。

        設置serviceInstaller1的運行方式為手動或者自動

        設置serviceInstaller1的ServiceName,設置為什么,服務列表中就顯示什么

        設置serviceProcessInstaller1的運行賬號為LocalSystem

        6、編譯該工程

        7、使用vs自帶的命令行工具,運行installutil 編譯生成的exe

        8、在系統的服務中可看到我們創建的服務。

        需要注意的是:

        如果你修改了這個服務,路徑沒有變化的話是不需要重新注冊服務的,如果路徑發生了變化,需要先卸載這個服務InstallUtil.exe /u參數,然后再重新安裝這個服務,不能直接安裝。還有就是C# Windows服務是沒有界面的,不要企圖用控制的輸出方式來輸出一些信息,你只能添加一個EventLog,通過WriteEntry()來寫日志。



    posted on 2012-10-30 15:37 Ke 閱讀(466) 評論(0)  編輯  收藏 所屬分類: C#
    主站蜘蛛池模板: 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 国产成人精品免费视频动漫| 国内精品99亚洲免费高清| 免费一区二区无码视频在线播放 | 亚洲色大成网站www尤物| 免费不卡视频一卡二卡| 亚洲人6666成人观看| 黄色免费网站网址| 亚洲校园春色另类激情| 日韩电影免费在线| 黄色网址免费在线| 国产AV无码专区亚洲AWWW| 野花香高清在线观看视频播放免费| 亚洲va无码va在线va天堂| 99国产精品免费视频观看| 亚洲国产成人手机在线电影bd | 久久久久久久99精品免费观看| 亚洲成AV人片在线观看无码 | 日韩午夜免费视频| 免费一区二区三区在线视频| 亚洲乱亚洲乱妇无码麻豆| 99久9在线|免费| 亚洲色大成网站www永久网站| 免费看国产精品麻豆| 国产在线观a免费观看| 91精品国产亚洲爽啪在线观看| 国产电影午夜成年免费视频| 亚洲av无码一区二区三区天堂| 亚洲狠狠爱综合影院婷婷| a级毛片免费全部播放| 亚洲国产日韩在线人成下载| 国产高清免费在线| 国产自国产自愉自愉免费24区| 亚洲噜噜噜噜噜影院在线播放| 国产免费观看黄AV片| 一个人免费视频在线观看www| 亚洲国产福利精品一区二区| 亚洲国产精品专区在线观看| 16女性下面扒开无遮挡免费| 激情小说亚洲色图| 亚洲自偷自偷精品|