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

首頁 > 編程 > C# > 正文

C#編寫Windows服務(wù)實例代碼

2020-01-24 03:07:37
字體:
供稿:網(wǎng)友
Microsoft Windows 服務(wù)(即,以前的 NT 服務(wù))使您能夠創(chuàng)建在它們自己的 Windows 會話中可長時間運(yùn)行的可執(zhí)行應(yīng)用程序。這些服務(wù)可以在計算機(jī)啟動時自動啟動,可以暫停和重新啟動而且不顯示任何用戶界面。這使服務(wù)非常適合在服務(wù)器上使用,或任何時候,為了不影響在同一臺計算機(jī)上工作的其他用戶,需要長時間運(yùn)行功能時使用。還可以在不同于登錄用戶的特定用戶帳戶或默認(rèn)計算機(jī)帳戶的安全上下文中運(yùn)行服務(wù)。

使用Microsoft Visual Studio2012可以很方便的創(chuàng)建一個Windows服務(wù),本例實現(xiàn)一個向D盤的txt文件里,寫入系統(tǒng)時間的Windows服務(wù)。

新建一個Windows Services工程:

 

工程創(chuàng)建好之后,默認(rèn)會有一個Services1.cs文件,刪掉此文件,重新添加一個新Item

右擊新添加的這個文件,選擇View code,可以看到,有兩個函數(shù) OnStart和OnStop,OnStart函數(shù)在啟動服務(wù)時執(zhí)行,OnStop函數(shù)在停止服務(wù)時執(zhí)行。

這兩個函數(shù)的代碼如下:

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace MyFirstWindowsService
{
    partial class MyWindowsService : ServiceBase
    {
        public MyWindowsService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            // TODO: Add code here to start your service.
            FileStream fileStream = new FileStream(@"D:/MyWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter streamWriter = new StreamWriter(fileStream);

            streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            streamWriter.WriteLine("My service started" + DateTime.Now.ToString() + "/n");

            streamWriter.Flush();

            streamWriter.Close();

            fileStream.Close();
        }

        protected override void OnStop()
        {
            // TODO: Add code here to perform any tear-down necessary to stop your service.
            FileStream fileStream = new FileStream(@"D:/MyWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter streamWriter = new StreamWriter(fileStream);

            streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            streamWriter.WriteLine("My service stopped " + DateTime.Now.ToString() + "/n");

            streamWriter.Flush();

            streamWriter.Close();

            fileStream.Close();
        }
    }
}

之后需要新建一個安裝組件MyWindowsServiceProjectInstaller(右擊MyWindowsService.cs這個文件選擇view desiner,然后選擇Add Installer),需要將MyFirstWindowsServiceProcessInstaller的account屬性設(shè)置為localservice.

編寫批處理文件:

 安裝服務(wù)批處理:

復(fù)制代碼 代碼如下:

 %SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe C:/Users/gaoja1/Desktop/MyWindowsService/MyFirstWindowsService/bin/Debug/MyFirstWindowsService.exe
 Net Start ServiceTest
 sc config ServiceTest start= auto

卸載服務(wù)批處理:

復(fù)制代碼 代碼如下:

%SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe /u C:/Users/gaoja1/Desktop/MyWindowsService/MyFirstWindowsService/bin/Debug/MyFirstWindowsService.exe

服務(wù)安裝好之后:





服務(wù)啟動之后可以在D盤看到一個txt的文件,里面記錄了服務(wù)的啟動時間.
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 八宿县| 安龙县| 龙泉市| 天津市| 宁陵县| 溆浦县| 和顺县| 富源县| 本溪市| 宜丰县| 小金县| 察雅县| 葫芦岛市| 临武县| 乐昌市| 柳江县| 宁乡县| 武穴市| 宜城市| 保康县| 拉孜县| 灵璧县| 比如县| 札达县| 延安市| 东阳市| 宁南县| 荣成市| 昭觉县| 芷江| 吉水县| 岱山县| 河西区| 老河口市| 襄樊市| 呼伦贝尔市| 西和县| 涟水县| 会泽县| 崇州市| 廉江市|